【问题标题】:wildfly-preview-25.0.0.Final - ERROR Module "org.jboss.weld.core" version 3.1.5.Finalwildfly-preview-25.0.0.Final - 错误模块“org.jboss.weld.core”版本 3.1.5.Final
【发布时间】:2021-10-17 15:42:13
【问题描述】:

尝试从 wildfly-25.0.0.Final(Jakarta EE 8 完整版)迁移到 wildfly-preview-25.0.0.Final(预览版 EE 9.1)。

添加我的之后:

org/hibernate/ ...
org/jboss/ ...

我有焊接:

org/jboss/weld/3.1.4 ...
org/jboss/weld/4.0.0.Final ...

错误“链接失败”在:

16:13:54,578 INFO  [org.jboss.as.webservices] (ServerService Thread Pool -- 80) WFLYWS0002: Activating WebServices Extension
16:13:54,578 INFO  [org.wildfly.extension.microprofile.opentracing] (ServerService Thread Pool -- 70) WFLYTRACEXT0001: Activating MicroProfile OpenTracing Subsystem
16:13:54,578 ERROR [org.jboss.as.controller.management-operation] (ServerService Thread Pool -- 81) WFLYCTL0013: Operation ("add") failed - address: ([("subsystem" => "weld")]): java.lang.NoClassDefFoundError: Failed to link org/jboss/weld/exceptions/DeploymentException (Module "org.jboss.weld.core" version 3.1.5.Final from local module loader @7a1234bf (finder: local module finder @2f62ea70 (roots: /usr/local/Cellar/wildfly-as/wildfly-preview-25.0.0.Final/modules,/usr/local/Cellar/wildfly-as/wildfly-preview-25.0.0.Final/modules/system/layers/base))): javax/enterprise/inject/spi/DeploymentException
    at java.base/java.lang.ClassLoader.defineClass1(Native Method)
    at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1012)
    at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:423)
    at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:555)
    at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:339)
    at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:126)
    at org.jboss.modules.Module.loadModuleClass(Module.java:753)
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:247)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:410)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:116)
    at org.jboss.as.weld@25.0.0.Final//org.jboss.as.weld.WeldSubsystemAdd.performBoottime(WeldSubsystemAdd.java:86)
    at org.jboss.as.controller@17.0.1.Final//org.jboss.as.controller.AbstractBoottimeAddStepHandler.performRuntime(AbstractBoottimeAddStepHandler.java:119)
    at org.jboss.as.controller@17.0.1.Final//org.jboss.as.controller.AbstractAddStepHandler$1.execute(AbstractAddStepHandler.java:164)
    at org.jboss.as.controller@17.0.1.Final//org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:1045)
    at org.jboss.as.controller@17.0.1.Final//org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:777)
    at org.jboss.as.controller@17.0.1.Final//org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:466)
    at org.jboss.as.controller@17.0.1.Final//org.jboss.as.controller.ParallelBootOperationStepHandler$ParallelBootTask.run(ParallelBootOperationStepHandler.java:384)
    at org.jboss.threads@2.4.0.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
    at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
    at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
    at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1348)
    at java.base/java.lang.Thread.run(Thread.java:833)
    at org.jboss.threads@2.4.0.Final//org.jboss.threads.JBossThread.run(JBossThread.java:513)

可以看到WELD 3.1.5 @https://weld.cdi-spec.org/news/2020/08/12/weld-315Final/

我应该使用哪个版本的 WELD? 3.1.5 还是 4.0.0.Final?还有在哪里配置呢?

(2) 见“错字”。

https://weld.cdi-spec.org/download/ 上输入 WELD 4.0.2 Finak:

WELD 4.0.2.Finak

“下载”也有错误:

Not Found
The requested URL /weld/4.0.2.Finak was not found on this server.

应该是:

https://download.jboss.org/weld/4.0.2.Final/

【问题讨论】:

  • 你不应该在你的部署中使用 Weld 依赖于服务器提供的那个。
  • 那么我应该使用:jboss-cli.sh 来生成:org/jboss/weld 等吗?
  • wildfly-preview-25.0.0.Final (Preview EE 9.1) 没有 WELD。
  • 您需要 Weld 4,因为该主要版本实现了 EE 9。但是,WFLY 预览版确实包含 Weld。你可以看到当你打开WFLY发行版并在/modules/system/layers/base/org/jboss/weld下查看时
  • @Siliarus 完美,非常感谢。如果您想要“费率”等。TIA

标签: wildfly weld


【解决方案1】:

Weld 4.x 是 Weld 实现 EE 9 的主要版本(例如,带有 jakarta 命名空间)。

但是,您不需要手动声明此依赖项。 WildFly 始终包含 Weld,EE 9 变体也不例外。 您可以通过解压缩 Wildfly 分发包并查看 /modules/system/layers/base/org/jboss/weld

轻松验证这一点

(2) 见“错字”。

感谢您指出这一点,我已修复 Weld 网站上的损坏链接。

【讨论】:

    猜你喜欢
    • 2021-12-17
    • 1970-01-01
    • 2014-10-11
    • 2015-11-08
    • 2023-04-05
    • 2015-12-03
    • 2016-08-17
    • 1970-01-01
    • 2018-09-28
    相关资源
    最近更新 更多