0
我有一个应用程序在eclipse中运行良好(使用jasper reports
的pdf生成器)。 该应用需要放入src/main/resources/fonts
的字体。Runnable jar找不到资源?
现在我将应用程序导出为可执行jar。正确地在jar中有一个文件夹resources/fonts/
。
总之:当我运行java -jar app.jar
我得到一个异常,资源未找到:
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
Caused by: net.sf.jasperreports.engine.JRRuntimeException: Could not load the following font :
pdfFontName : Arial
pdfEncoding : Cp1252
isPdfEmbedded : true
at net.sf.jasperreports.engine.export.JRPdfExporter.getFont(JRPdfExporter.java:2152)
at net.sf.jasperreports.engine.export.JRPdfExporter.getChunk(JRPdfExporter.java:1942)
at net.sf.jasperreports.engine.export.JRPdfExporter.getPhrase(JRPdfExporter.java:1911)
at net.sf.jasperreports.engine.export.SimplePdfTextRenderer.getPhrase(SimplePdfTextRenderer.java:88)
at net.sf.jasperreports.engine.export.SimplePdfTextRenderer.render(SimplePdfTextRenderer.java:98)
at net.sf.jasperreports.engine.export.JRPdfExporter.exportText(JRPdfExporter.java:2275)
at net.sf.jasperreports.engine.export.JRPdfExporter.exportElements(JRPdfExporter.java:985)
at net.sf.jasperreports.engine.export.JRPdfExporter.exportFrame(JRPdfExporter.java:2779)
at net.sf.jasperreports.engine.export.JRPdfExporter.exportElements(JRPdfExporter.java:989)
at net.sf.jasperreports.engine.export.JRPdfExporter.exportPage(JRPdfExporter.java:944)
at net.sf.jasperreports.engine.export.JRPdfExporter.exportReportToStream(JRPdfExporter.java:816)
at net.sf.jasperreports.engine.export.JRPdfExporter.exportReport(JRPdfExporter.java:519)
at net.sf.jasperreports.engine.JasperExportManager.exportToPdf(JasperExportManager.java:218)
at net.sf.jasperreports.engine.JasperExportManager.exportReportToPdf(JasperExportManager.java:543)
忽略的JasperReports:什么都可以当罐子没有找到包含资源的情况?
忽略报告是我的头上的事情:1)资源链接做得很糟糕,你是如何链接代码中的文件?也许它使用了一个特定的本地路径,一旦你在eclipe之外运行代码就会超出范围? 2)将它添加为库? – MSB 2015-03-13 09:56:16