Como pegar caminho do relatório e do arquivo selecionado no lado do cliente?

Como pegar caminho do relatório e do arquivo selecionado no lado do cliente na AWS Amazon?
Quando trabalhava com a aplicação localmente estava funcionando perfeitamente,agora estou adicionando ela na nuvem e simplesmente não gera o relatório.

1° -  String caminho = Faces.getRealPath("//report//relatorioFornecedorPorCodigo.jasper");

O mesmo problema mas em situação diferente é que tenho um menu que abre a opção para o cliente selecionar um NFe, porem não sei como pegar o caminho do arquivo que foi selecionado.

2° enderecoArquivo = “C://CriadoAutomaticamenteAPP/” + file.getFileName();

Bom dia,

De uma olhada nesse topico

@campelo.m.
Fiz os testes de acordo com o tópico e não deu certo, depois descobri que; como fiz o deploy com a ferramenta elasticBeanStalk da amazon a aplicação é armazenada num diretório Linux,porem não possui uma opção para instala-la no windows,caso alguém saiba ficaria grato pela ajuda, assim como o linux não possui varias fontes nativa é gerado uma exception;

Font “Arial” is not available to the JVM. See the Javadoc for more details.

e ainda não encontrei uma maneira de adiciona-la usando a opção Elastic Beanstalk como devo proceder?
(Estarei criando novo tópico com esta questão para não confundir).

A algum tempo eu fiz usei este código, não sei se resolve

package br.edu.grupointegrado.controle;
import java.sql.ResultSet;
import java.util.HashMap;
import javax.swing.JOptionPane;
import net.sf.jasperreports.engine.JRResultSetDataSource;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.view.JasperViewer;
/**
 *
 * @author BSP
 */
public class ClassExtrato {
    String curDir = System.getProperty("user.dir");
    
    
    public ClassExtrato(ResultSet resultset){
        try{
            System.out.println(curDir+"//Relatorio//Extrato.jasper");
            JRResultSetDataSource jrRs = new JRResultSetDataSource(resultset);
            JasperPrint jasperPrint =
            JasperFillManager.fillReport(
                    //ALTERAR PARA FUNCIONAR EM OUTROS PCs
                   curDir+"//Relatorio//Extrato.jasper",
                    new HashMap(), jrRs);
            JasperViewer viewer = new JasperViewer(jasperPrint,false);
            viewer.setVisible(true);
        } catch (Exception erro){
            JOptionPane.showMessageDialog(null,"erro de relatório" + erro);
            
        }
    }
}

@bruno_souza_picinini, vc chegou a fazer o deploy em algum lugar sem ser local?o meu não adiantou na usando o código acima

@bruno_souza_picinini pelo que entendi pelo log da amazon e algumas postagem é que a JVM não tem as fontes do JasperSoft(relatorios),
por isso não abre, agora o outro problema e como resolver isso.
Imagino que seja isso, caso não for, aceito sugestões ai pessoal.

não, somente em outros pcs

@BlackkamemRaider que tal você exportar as fonts, creio que assim resolva o seu problema.

@campelo.m, fazendo pelo eclipse, mas não estou encontrando uma maneira por ele.

Uma parte é feito no jasper e outra é feita no eclipse. veja essa resposta

@campelo.m, provavelmente resolvi usando o post indicado acima, agora esta aparecendo outro erro;
vou verificar aqui qualquer coisa crio outro post.
01-Dec-2016 07:28:47.085 SEVERE [http-nio-8080-exec-2] com.sun.faces.context.AjaxExceptionHandlerImpl.handlePartialResponseError java.awt.HeadlessException
at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:204)
at java.awt.Window.(Window.java:536)
at java.awt.Frame.(Frame.java:420)
at java.awt.Frame.(Frame.java:385)
at javax.swing.JFrame.(JFrame.java:189)
at net.sf.jasperreports.view.JasperViewer.(JasperViewer.java:267)
at net.sf.jasperreports.view.JasperViewer.viewReport(JasperViewer.java:655)
at net.sf.jasperreports.view.JasperViewer.viewReport(JasperViewer.java:587)
at net.sf.jasperreports.view.JasperViewer.viewReport(JasperViewer.java:500)
at br.com.tecnologia.bean.ProdutoBean.imprimirProdutoPorCodigo(ProdutoBean.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.el.parser.AstValue.invoke(AstValue.java:247)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:267)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:147)
at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:814)
at javax.faces.component.UICommand.broadcast(UICommand.java:300)
at javax.faces.component.UIData.broadcast(UIData.java:1108)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:658)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:676)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1099)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:670)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)

Esse é o stack completo?

@campelo.m agora esta completo.