基本上我想要做的是从iReport jrxml或jasper文件创建PDF。
我的想法是将它用于网络上的报告,我设法找到的最佳解决方案是使用jasperstarter之类的程序,然后运行与MSSQL数据库连接的报告。
要获得连接,我必须下载最新的net.sourceforge.jtds.jdbc.Driver。
使用iReport 5.1报告工作正常但是当我按照jasperstarter的说明操作时,我得到了一个“java.lang.UnsupportedClassVersionError”响应。
jasperstarter pr -t generic -f pdf -i test_report.jasper -o test -u username -p password --db-driver net.sourceforge.jtds.jdbc.Driver --db-url jdbc:jtds:sqlserver://LOCAL-PC/Demo_DB
Exception in thread "main" java.lang.UnsupportedClassVersionError: net/sourcefor
ge/jtds/jdbc/Driver : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at de.cenote.jasperstarter.Db.getConnection(Db.java:69)
at de.cenote.jasperstarter.Report.fill(Report.java:220)
at de.cenote.jasperstarter.App.processReport(App.java:222)
at de.cenote.jasperstarter.App.main(App.java:107)
请建议。
答案 0 :(得分:0)
基本上,您正在尝试在较旧的JVM上运行在/ 7上编译的代码。
这不起作用。
在Java 7 JVM上运行应用程序,或者在用于运行应用程序的旧JVM上重新编译“jdts”驱动程序。
有关详细信息,请阅读上面链接的问答A.
答案 1 :(得分:0)
确保您拥有相同的JRE和JDK。
如果不确定卸载,请下载最新的JDK,然后重试。
请注意,JDK会自动安装JRE。