0

基本上我想做的是从 iReport jrxml 或 jasper 文件创建 PDF。

这个想法是通过网络将其用于报告,我设法找到的最佳解决方案是使用像jasperstarter这样的程序,然后通过连接到 MSSQL 数据库运行报告。

为了使连接正常进行,我必须下载最新的 net.sourceforge.jtds.jdbc.Driver。

该报告使用 iReport 5.1 可以正常工作,但是当我按照 jasperstarter 的说明进行操作时,我收到“java.lang.UnsupportedClassVersionError”响应。

jasperstarter 命令

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)

请指教。

4

2 回答 2

1

基本上,您正在尝试在较旧的 JVM 上运行在 Java 7 上编译的代码。

那是行不通的。

任何一个:

  • 在 Java 7 JVM(或更高版本1 )上运行您的应用程序;即升级你的Java版本,
  • 找到适合您的执行平台的 JDTS 驱动程序的构建,或
  • 找到 JDTS 驱动程序的源代码并为您的平台构建它。

有关此异常及其原因的更多详细信息,请阅读:


1 - 请注意,即使是 Java 7 现在也已报废。如果您仍在运行该版本的 Java,则应该升级。

于 2013-05-10T09:55:06.877 回答
0

确保您有相同的 JRE 和 JDK。

如果不确定卸载下载最新的 JDK 并重试。

请注意,JDK 会自动安装 JRE。

于 2013-05-13T11:34:20.897 回答