Swi*_*tch 4 java netbeans jasper-reports
我正在开发一个需要Jasper报告的项目,我使用下面提到的代码片段来查看NetBeans 6.1中的报告(该报告最初是使用iReport 3.6.0生成和编译的),我的要求是使用以下方式打印此报告:一个简单的Swing应用程序.
代码片段:
public class JasperCheck {
public static void main(String[] args) {
String reportSource = "E:/Projects/report.jrxml";
String reportDest = "E:/Projects/report.html";
Map<String, Object> params = new HashMap<String, Object>();
try {
JasperReport jasperReport = JasperCompileManager.compileReport(reportSource);
JasperPrint jasperPrint =
JasperFillManager.fillReport(jasperReport, params, new JREmptyDataSource());
JasperExportManager.exportReportToHtmlFile(jasperPrint, reportDest);
JasperViewer.viewReport(jasperPrint);
} catch (JRException ex) {
System.out.println(ex);
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当我运行它时,它给出了一个我无法弄清楚的异常.
Exception:
Exception in thread "main" java.lang.NoClassDefFoundError: org/codehaus/groovy/control/CompilationFailedException
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at net.sf.jasperreports.engine.util.JRClassLoader.loadClassForRealName(JRClassLoader.java:157)
at net.sf.jasperreports.engine.util.JRClassLoader.loadClassForName(JRClassLoader.java:115)
at net.sf.jasperreports.engine.JasperCompileManager.getCompiler(JasperCompileManager.java:511)
at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:215)
at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:148)
at src.JasperCheck.main(JasperCheck.java:31)
Caused by: java.lang.ClassNotFoundException: org.codehaus.groovy.control.CompilationFailedException
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
... 8 more
Java Result: 1
Run Code Online (Sandbox Code Playgroud)
谢谢.
Ale*_*x K 10
这意味着groovy缺少库依赖项.
我们可以在类路径中添加groovy-1.7.5.jar(取决于JasperReports版本)来解决此问题.
我们可以groovy在JasperReports库pom.xml文件中找到它的依赖关系.对于JR 4.5.0版本,它是:
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>1.7.5</version>
<scope>compile</scope>
<optional>true</optional>
</dependency>
Run Code Online (Sandbox Code Playgroud)
在使用的情况下,maven我们可以将此依赖项添加到项目中:
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>1.7.5</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10963 次 |
| 最近记录: |