wildfly quickstart microprofile-health:NoClassDefFoundError
wildfly quickstart microprofile-health : NoClassDefFoundError
我使用的是 wildfly-25.0.1.Final。我无法测试 microprofile-health quickstart :
Failed to define class org.wildfly.quickstarts.microprofile.health.DatabaseConnectionHealthCheck in Module "deployment.microprofile-health.war" from Service Module Loader: java.lang.NoClassDefFoundError: Failed to link org/wildfly/quickstarts/microprofile/health/DatabaseConnectionHealthCheck (Module "deployment.microprofile-health.war" from Service Module Loader): org/eclipse/microprofile/health/HealthCheck
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1095)
at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:424)
at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:555)
at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:339)
at org.jboss.modules.ModuleClassLoader.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.1.Final//org.jboss.as.weld.WeldModuleResourceLoader.classForName(WeldModuleResourceLoader.java:68)
at org.jboss.weld.core@3.1.8.Final//org.jboss.weld.bootstrap.AnnotatedTypeLoader.loadClass(AnnotatedTypeLoader.java:83)
at org.jboss.weld.core@3.1.8.Final//org.jboss.weld.bootstrap.AnnotatedTypeLoader.loadAnnotatedType(AnnotatedTypeLoader.java:63)
at org.jboss.weld.core@3.1.8.Final//org.jboss.weld.bootstrap.FastAnnotatedTypeLoader.loadAnnotatedType(FastAnnotatedTypeLoader.java:108)
at org.jboss.weld.core@3.1.8.Final//org.jboss.weld.bootstrap.BeanDeployer.addClass(BeanDeployer.java:87)
at org.jboss.weld.core@3.1.8.Final//org.jboss.weld.bootstrap.ConcurrentBeanDeployer.doWork(ConcurrentBeanDeployer.java:55)
at org.jboss.weld.core@3.1.8.Final//org.jboss.weld.bootstrap.ConcurrentBeanDeployer.doWork(ConcurrentBeanDeployer.java:52)
at org.jboss.weld.core@3.1.8.Final//org.jboss.weld.executor.IterativeWorkerTaskFactory.call(IterativeWorkerTaskFactory.java:62)
at org.jboss.weld.core@3.1.8.Final//org.jboss.weld.executor.IterativeWorkerTaskFactory.call(IterativeWorkerTaskFactory.java:55)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.JBossThread.run(JBossThread.java:513)
但是如果我使用 standalone-microprofile.xml 启动 wildfly,问题就会消失。不幸的是,快速入门并没有这么说。
所以看起来 microprofile.health-smallrye 在 wildfly-25.0.1 standalone.xml 中消失了(它在 wildfly-20.0.1 中存在)。
我的问题是:如何将 microprofile.health-smallrye 添加到现有的 standalone.xml?
看起来有一个 bug 提交了这个,但它在 WildFly 25 中被修复了。也就是说我在默认的 README 中没有看到参考。
也就是说它确实需要 standalone-microprofile.xml
。您还可以将带有 CLI 的子系统添加到 standalone.xml
并以这种方式运行它。以下 CLI 命令会将 microprofile-health-smallrye
添加到您开始时尚未包含子系统的任何配置中。
/extension=org.wildfly.extension.microprofile.health-smallrye:add
/subsystem=microprofile-health-smallrye:add
我使用的是 wildfly-25.0.1.Final。我无法测试 microprofile-health quickstart :
Failed to define class org.wildfly.quickstarts.microprofile.health.DatabaseConnectionHealthCheck in Module "deployment.microprofile-health.war" from Service Module Loader: java.lang.NoClassDefFoundError: Failed to link org/wildfly/quickstarts/microprofile/health/DatabaseConnectionHealthCheck (Module "deployment.microprofile-health.war" from Service Module Loader): org/eclipse/microprofile/health/HealthCheck
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1095)
at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:424)
at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:555)
at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:339)
at org.jboss.modules.ModuleClassLoader.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.1.Final//org.jboss.as.weld.WeldModuleResourceLoader.classForName(WeldModuleResourceLoader.java:68)
at org.jboss.weld.core@3.1.8.Final//org.jboss.weld.bootstrap.AnnotatedTypeLoader.loadClass(AnnotatedTypeLoader.java:83)
at org.jboss.weld.core@3.1.8.Final//org.jboss.weld.bootstrap.AnnotatedTypeLoader.loadAnnotatedType(AnnotatedTypeLoader.java:63)
at org.jboss.weld.core@3.1.8.Final//org.jboss.weld.bootstrap.FastAnnotatedTypeLoader.loadAnnotatedType(FastAnnotatedTypeLoader.java:108)
at org.jboss.weld.core@3.1.8.Final//org.jboss.weld.bootstrap.BeanDeployer.addClass(BeanDeployer.java:87)
at org.jboss.weld.core@3.1.8.Final//org.jboss.weld.bootstrap.ConcurrentBeanDeployer.doWork(ConcurrentBeanDeployer.java:55)
at org.jboss.weld.core@3.1.8.Final//org.jboss.weld.bootstrap.ConcurrentBeanDeployer.doWork(ConcurrentBeanDeployer.java:52)
at org.jboss.weld.core@3.1.8.Final//org.jboss.weld.executor.IterativeWorkerTaskFactory.call(IterativeWorkerTaskFactory.java:62)
at org.jboss.weld.core@3.1.8.Final//org.jboss.weld.executor.IterativeWorkerTaskFactory.call(IterativeWorkerTaskFactory.java:55)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.JBossThread.run(JBossThread.java:513)
但是如果我使用 standalone-microprofile.xml 启动 wildfly,问题就会消失。不幸的是,快速入门并没有这么说。
所以看起来 microprofile.health-smallrye 在 wildfly-25.0.1 standalone.xml 中消失了(它在 wildfly-20.0.1 中存在)。
我的问题是:如何将 microprofile.health-smallrye 添加到现有的 standalone.xml?
看起来有一个 bug 提交了这个,但它在 WildFly 25 中被修复了。也就是说我在默认的 README 中没有看到参考。
也就是说它确实需要 standalone-microprofile.xml
。您还可以将带有 CLI 的子系统添加到 standalone.xml
并以这种方式运行它。以下 CLI 命令会将 microprofile-health-smallrye
添加到您开始时尚未包含子系统的任何配置中。
/extension=org.wildfly.extension.microprofile.health-smallrye:add
/subsystem=microprofile-health-smallrye:add