2012-04-24 49 views
1

私はNetbeans 7.1を使用して開発中です。ジャスパーレポート:リソースが見つかりません

私のジャスパーレポートには、サブレポートがあります。 完全に1つの場所で動作します。私はコピーして別の場所に貼り付けると、今、このエラーを示しています

net.sf.jasperreports.engine.JRException: Resource not found at : D:\ShareMarket\build\web\WEB-INF\classes\custom\kksharemarket/contractDetail.jasper 
at net.sf.jasperreports.repo.RepositoryUtil.getResource(RepositoryUtil.java:155) 
at net.sf.jasperreports.repo.RepositoryUtil.getReport(RepositoryUtil.java:126) 
at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluateReport(JRFillSubreport.java:317) 
at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluateSubreport(JRFillSubreport.java:347) 
at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluate(JRFillSubreport.java:275) 
at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:257) 
at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:473) 
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2021) 
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:755) 
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:265) 
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:128) 
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:836) 
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:746) 
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:58) 
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:417) 
at net.sf.jasperreports.engine.JasperRunManager.runReportToPdf(JasperRunManager.java:281) 
at org.apache.jsp.reportmgr_jsp._jspService(reportmgr_jsp.java:966) 
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:433) 
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389) 
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) 
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) 
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405) 
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964) 
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515) 
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:304) 
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) 
at java.lang.Thread.run(Thread.java:619) 
+0

Krushnakant、サブフォーム名の/の前にD:\ ShareMarket \ build \ web \ WEB-INF \ classes \ custom \ kksharemarket/contractDetail.jasperが正しく表示されません。 –

+0

@Krushnakantこの投稿を見ることができます:http://stackoverflow.com/questions/4825726/how-to-load-subreport-resources-with-jasper&http://stackoverflow.com/questions/9785451/generate-jasper -report-with-subreport-from-java –

答えて

2

パスD:\ShareMarket\build\web\WEB-INF\classes\custom\kksharemarketは疑いがあります。アプリケーションのクラスパスにあるので、/custom/kksharemarketにする必要があります。アプリケーションはおそらくjar/warにパッケージされており、ファイルパスは実行されません。おそらく、リソースはファイルシステム経由ではなく、クラスパス上でフェッチされます。これは通常、「リソース」がJavaの意味でのものです。

ディレクトリ構造が存在したため、最初の開発に取り組みました。

1
D:\ShareMarket\build\web\WEB-INF\classes\custom\kksharemarket/contractDetail.jasper 

                  ^^^ 

碧玉ファイルのパスを構成するとき、私はあなたのハードコーディングされたファイルの区切り文字を推測します。

関連する問題