首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java.lang.UnsupportedClassVersionError:无法从本地模块加载器@307db34d链接模块信息(模块"javax.json.api“版本1.1.2

java.lang.UnsupportedClassVersionError:无法从本地模块加载器@307db34d链接模块信息(模块"javax.json.api“版本1.1.2
EN

Stack Overflow用户
提问于 2019-06-14 19:47:07
回答 1查看 594关注 0票数 2

我正在使用OpenJdk 1.8运行jbpm (版本为jbpm-server-7.17.0.Final-dist)。Wildfly服务器已经很好地启动了,我能够创建一个包含单个人工节点的示例流程,并能够执行它。

当我试图在人工任务中添加lombok Slf4j、logback经典、jackson数据绑定库以使用logback实现日志记录时,问题就开始了。添加上述依赖项并单击构建后,将抛出以下错误

代码语言:javascript
复制
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 bad major version;class=module-info,offset=6“,发现这是因为在编译和执行特定类时java和java版本不匹配。

如果我切换到java 9来运行jbpm服务器,我开始收到同一个类的另一个错误。

代码语言:javascript
复制
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项目中的依赖项

代码语言:javascript
复制
 <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>

有没有办法摆脱这个错误?提前感谢您的帮助。如果我能用开放式jdk 1.8运行jbpm服务器就好了。谢谢

EN

回答 1

Stack Overflow用户

发布于 2020-06-30 18:38:23

我们已经取得了一些进展。下载https://github.com/eclipse-ee4j/jsonp/releases 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编译的。你需要找到https://github.com/eclipse-ee4j/jsonb-api/releases并使用1.8构建,然后在"bind“文件夹中替换,并修改module.xml...

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56597537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档