当前位置: 首页 > 知识库问答 >
问题:

使用Gradle编译JasperReports时出现不支持的版本错误

魏彦
2023-03-14

最近我实现了一个新的构建器与gradle运行詹金斯。我们的项目包含jasper报告,所以我在下面添加了一个由jasper报告api提供的蚂蚁任务来编译jasper报告。

 task compileJasper {
  println "############# Compiling JasperReports in Projet $project.name ###################"
        def jasperSourceDir =sourceSets.main.java.srcDirs[0]
    def jasperTargetDir = sourceSets.main.output.classesDir
    def classPath = ant.path {
        fileset(dir: "JarLib/", includes: '**.jar')
    }
    ant {
        taskdef(name: 'jrc', classname: 'net.sf.jasperreports.ant.JRAntCompileTask',
                                classpath: classPath)
        jasperTargetDir.mkdirs()
        jrc(srcdir: jasperSourceDir, destdir: jasperTargetDir) {
            classpath(path: classPath)
            include(name: '**/*.jrxml')
        }
    }
}

一切都很好,编译和预期的工作,但在部署项目到服务器后,在运行时得到以下错误。

[8/3/17 14:38:53:340 EET] 000000f5 SystemOut O ERROR[14:38:53,333-WebContainer: 0](RunReportBean.java:100 ) - ****可抛出java.lang.不支持的ClassVersionError: JVMCFRE003坏的主要版本;class=kybgeneldurum_1501049070032_205074,偏移=6 atjava.lang.ClassLoader.defineClassImpl(本地方法)java.lang.ClassLoader.defineClass(ClassLoader.java:275)net.sf.jasperreports.engine.util.JRClassLoader.loadClass(JRClassLoader.java:337)atnet.sf.jasperreports.engine.util.JRClassLoader.loadClassFromBytes(JRClassLoader.java:238)net.sf.jasperreports.engine.design.JRAbstractJavaCompiler.load评估器(JRAbstractJavaCompiler.java:104)net.sf.jasperreports.engine.design.JRAbstractCompiler.load评估器(JRAbstractCompiler.java:358)plhd--19/>jasperCompileManager. getEvalue ator(JasperCompileManager. java: 381)at net. sf. jasperReport. gine. fill.创建计算器(JRFillDataset. java: 467)在net. sf. jasperReport. gine. fill。BaseReportFiller.)java: 152)在net. sf. jasperReport. gine. fill。JRBaseFiller)java: 239)在net. sf. jasperReport. gine. fill。JRVerticalFiller。java: 69)在net. sf. jasperReport. gine. fill。JRVerticalFiller。java: 57)在net. sf. jasperReport. gine. fill。JRFiller. createBandReportFiller(JRFiller. java: 201)在net. sf. jasperReport. gine. fill。JRFiller. createReportFiller(JRFiller. java: 216)at net. sf. jasperReport. gine. fill。JRFiller(JRFiller. java: 85)在net. sf. jasperReport. ngine。在net. sf. jasperReport. ngine上填写(JasperFillManager. java: 456)。JasperFillManager. fillReport(JasperFillManager. java: 863)在tr. gov. uyap. fonk. Report. gine. implified. jasper。JasperReportEngineering. runReport(JasperReportEngineering. java: 95)

我们在运行时使用WebSphere 8.5和java 1.6。这是java版本输出

/opt/IBM /WebSphere/AppServer/java/bin/java-version java version"1.6.0"Java(TM)SE运行时环境(构建pxa6460_26sr8fp2ifix-20141114_01(SR8 FP2 IV66608 IV66375 IX90155 IV66944))IBMJ9 VM(构建2.6,JRE 1.6.0Linuxamd64-64压缩引用20141114_222464(启用JIT,启用AOT)J9VM-R26_Java626_SR8_20141114_1023_B222464JIT-r11.b07_20141003_74578.01 GC-R26_Java626_SR8_20141114_1023_B222464_CMPRSSJ9CL-20141114_222464)JCL-20141005_01

第一次,我得到配置为使用Java1.7.0_51运行的错误gradle,所以我将GradleJava更改为“Java1.6.03”,但没有任何更改。有什么想法吗?

共有1个答案

壤驷兴朝
2023-03-14

我用下面的代码打印了蚂蚁块中的所有蚂蚁属性。

ant {
    for (o in properties)
     println o
     ...
     ..
     .
}

我看到gradle以某种方式使用系统默认java作为java。背书。dir属性,尽管我设置了org。格拉德尔。JAVA主页值在渐变中变为1.6。属性文件。

JAVA赞同。dirs=/usr/java/jdk1。7.0_51/jre/lib/approved

最后,我将系统java版本更改为1.6。这可能是一只小虫子。

 类似资料:
  • 无效的源版本:1.7 Java home设置为:$echo$java_home/library/Java/javaVirtualMachines/jdk1.7.0_25.jdk/contents/home

  • 在生成APK时,我得到了一个错误:项目使用的是一个不受支持的Gradle版本。我正在使用Android Studio3.5版本。 我试图更改build gradle类路径以匹配gradle-wrapper.properties中的distributionUrl,但是错误仍然存在。 首先,在项目级设置中,选择Use default gadle wrapper。 build.gradle文件:

  • 我正在尝试使用Java JTDS驱动程序连接到Scala中的数据库。然而,每当我尝试使用它时,我会得到一个错误,即(Java的?)是错的。 java.lang.unsupportedClassVersionError:net/sourceforge/jtds/jdbcx/jtdsDataSource:Unsupported major.minor版本51.0 null java版本“1.6.0_3

  • 我目前正在尝试将基于Ant的构建过程转移到Gradle。 任务“:CompileJava”执行失败。编译失败;有关详细信息,请参阅编译器错误输出。“ -stacktrace选项不提供其他信息。所以,Gradle编译显示我的代码中有一些错误。但是这个相同的代码(Ant jar任务的jar)目前被20个或更多的其他项目使用,一切都是可以的。 Gradle似乎是一个很棒的构建工具,所以我想理解为什么当我

  • 我是科特林的初学者。我在执行以下操作时出现以下异常: 线程“main” java.lang.UnsupportedClassVersionError中的异常:org/jetbrains/kotlin/preloading/Preloader : Unsupported major.minor version 52.0 at java.lang.ClassLoader.defineClass1(Na

  • 我已经为Raspberry PI使用了已经编译好的openCV版本。任何感兴趣的人的链接 //usr/local/lib/libopencv_calib3d.so.2.4:未定义对`CV::Mutex::Unlock()'的引用 //usr/local/lib/libopencv_calib3d.so.2.4:未定义对`CV::mutex::lock()‘的引用 //usr/local/lib/l