java.lang.UnsupportedClassVersionError:未能从本地模块加载器@307db34d链接模块信息(模块“javax.json.api”版本1.1.2)
我正在用OpenJDK1.8运行jbpm(版本jbpm-server-7.17.0.Final dist)。 Wildfly服务器起步很好,我能够用单个人工节点创建一个示例流程,并能够执行它 当我试图添加lombok Slf4j、logback classic、jackson数据绑定库以在人工任务中使用logback实现日志记录时,问题就出现了。添加上述依赖项并单击构建后,抛出以下错误java.lang.UnsupportedClassVersionError:未能从本地模块加载器@307db34d链接模块信息(模块“javax.json.api”版本1.1.2),java,maven,jboss,wildfly,jbpm,Java,Maven,Jboss,Wildfly,Jbpm,我正在用OpenJDK1.8运行jbpm(版本jbpm-server-7.17.0.Final dist)。 Wildfly服务器起步很好,我能够用单个人工节点创建一个示例流程,并能够执行它 当我试图添加lombok Slf4j、logback classic、jackson数据绑定库以在人工任务中使用logback实现日志记录时,问题就出现了。添加上述依赖项并单击构建后,抛出以下错误 16:41:57,480 WARN [org.jboss.modules.define] (default
16:41:57,480 WARN [org.jboss.modules.define] (default task-8) Failed to define class module-info in Module "javax.json.api" version 1.1.2 from local module loader @307db34d (finder: local module finder @3f3f8e92 (roots: D:\jBPM\jbpm-server-7.17.0.Final-dist\modules,D:\jBPM\jbpm-server-7.17.0.Final-dist\modules\system\layers\base)): java.lang.UnsupportedClassVersionError: Failed to link module-info (Module "javax.json.api" version 1.1.2 from local module loader @307db34d (finder: local module finder @3f3f8e92 (roots: D:\jBPM\jbpm-server-7.17.0.Final-dist\modules,D:\jBPM\jbpm-server-7.17.0.Final-dist\modules\system\layers\base))): JVMCFRE003 bad major version; class=module-info, offset=6
at java.lang.ClassLoader.defineClassImpl(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:379)
lang.Class.forNameImpl(Native Method)
我搜索了错误“JVMCFRE003错误的主要版本;class=module info,offset=6”,发现这是因为编译和执行特定类时javac和java版本不匹配
如果我切换到Java9来运行jbpm服务器,那么对于同一个类,我会收到另一个错误
15:00:50,312 WARN [org.jboss.modules.define] (default task-3) Failed to define class module-info in Module "javax.json.api" version 1.1.2 from local module loader @4f0100a7 (finder: local module finder @3cdf2c61 (roots: D:\jBPM\jbpm-server-7.22.0.Final-dist\modules,D:\jBPM\jbpm-server-7.22.0.Final-dist\modules\system\layers\base)): java.lang.NoClassDefFoundError: Failed to link module-info (Module "javax.json.api" version 1.1.2 from local module loader @4f0100a7 (finder: local module finder @3cdf2c61 (roots: D:\jBPM\jbpm-server-7.22.0.Final-dist\modules,D:\jBPM\jbpm-server-7.22.0.Final-dist\modules\system\layers\base))): module-info is not a class because access_flag ACC_MODULE is set
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1007)
以下是我试图添加到我创建的jbpm项目中的依赖项
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.8</version>
</dependency>
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>6.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.5</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
</dependencies>
org.projectlombok
龙目
1.18.8
net.logstash.logback
logstash logback编码器
6
com.fasterxml.jackson.core
杰克逊数据绑定
2.9.5
回写
回归经典
1.2.3
是否有办法消除此错误?提前感谢您的帮助。如果我能够使用open jdk 1.8运行jbpm server,那就太好了。感谢我们取得了一些进展。下载1.1.4并使用1.8进行编译。然后替换安装中使用的版本1.1.6(我的是C:\Program Files\jBPM\modules\system\layers\base\javax\json api和bind)jBPM。您还需要修改module.xml,将1.9更改为1.8,将1.1.6更改为1.1.4。这将删除该警告。现在您将收到警告,jakarta.json.bind-api 1.02是用1.9编译的,也就是说。您需要用1.8查找并构建,然后用“bind”替换文件夹并修改module.xml