【发布时间】: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.
应该是:
【问题讨论】:
-
你不应该在你的部署中使用 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