Tenho um projecto que é lançado via web start, e nesse projeccto tenho a possibilidade de criar um relatório.
A minha dúvida é a seguinte. Eu coloco o meu .jrxml num directorio qualquer, por exemplo C:\teste.jrxml. Quando corro o meu projecto no meu computador ele cria o relatório direitinho, mas quando abro via web start ele não encontra o ficheiro (penso eu, pois não o cria). Qual será o problema?Na verdade estou a executar o programa na minha máquina, quer localmente, quer por web start…
Opa… pra acabar com esse problema… leve o seu JRXML junto com a sua aplicação, depois vc recupera ele via getClass().getResource()… que da certo, ok ?
A
aterrapintoPJ
Obrigado Cassolato.
Já coloquei como tu disseste, porém apenas consigo fazer isso no netbeans, quando corro o .jar normalmente ele não funciona, e da-me uma
16:34:27,017 ERROR [[viewReport]] Servlet.service() for servlet viewReport threw
exception
java.lang.NullPointerException
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:13
9)
at com..relatorios.viewReport.service(viewReport.java:
86)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:173)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFi
lter.java:81)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:178)
at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrinc
ipalValve.java:39)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Securit
yAssociationValve.java:153)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValv
e.java:59)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:856)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ssConnection(Http11Protocol.java:744)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo
int.java:527)
at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWor
kerThread.java:112)
at java.lang.Thread.run(Thread.java:595)
C
CassolatoPJ
Eu acredito que voce deve recuperar isso dentro de um diretorio especifico dentro do .jar
ou seja…
/br/seuDir/seuArquivo.jasper, isso deve funcionar, ok ?