【问题标题】:Using jasperstarter to compile and run iReport "java.lang.UnsupportedClassVersionError"使用 jasperstarter 编译运行 iReport "java.lang.UnsupportedClassVersionError"
【发布时间】:2019-10-19 09:45:08
【问题描述】:

基本上我想做的是从 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)

请指教。

【问题讨论】:

标签: java jasper-reports ireport unsupported-class-version


【解决方案1】:

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

这行不通。

要么:

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

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


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

【讨论】:

  • 感谢您的建议。我不得不卸载所有东西并使用最新版本重做。这解决了我的问题。
【解决方案2】:

确保您拥有相同的 JRE 和 JDK。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-19
    • 1970-01-01
    • 2012-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-27
    • 2015-01-15
    相关资源
    最近更新 更多