Wildfly 22.0.1部署含@Stateless类的WAR包失败求助
WildFly WAR包部署失败问题
环境信息
- 操作系统:Windows 10
- JDK:Amazon Correto 17.0.11.9.1
- WildFly:22.0.1.Final
- IntelliJ:IntelliJ IDEA 2024.1(旗舰版)
错误日志
2024-04-19 10:50:38,612 DEBUG [org.jboss.as.ee] (MSC service thread 1-1) Ignoring failure to handle interceptor annotations for com.mycompany.job.RunMyJob: java.lang.RuntimeException: WFLYSRV0177: Error getting reflective information for class java.lang.Thread with ClassLoader null at org.jboss.as.server@14.0.1.Final//org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:78) at org.jboss.as.ee@22.0.1.Final//org.jboss.as.ee.metadata.MethodAnnotationAggregator.runtimeAnnotationInformation(MethodAnnotationAggregator.java:57) at org.jboss.as.ee@22.0.1.Final//org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.handleAnnotations(InterceptorAnnotationProcessor.java:106) at org.jboss.as.ee@22.0.1.Final//org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.processComponentConfig(InterceptorAnnotationProcessor.java:85) at org.jboss.as.ee@22.0.1.Final//org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.deploy(InterceptorAnnotationProcessor.java:77) at org.jboss.as.server@14.0.1.Final//org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:182) at org.jboss.msc@1.4.12.Final//org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1739) at org.jboss.msc@1.4.12.Final//org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1701) at org.jboss.msc@1.4.12.Final//org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1559) 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:1377) at java.base/java.lang.Thread.run(Thread.java:840) Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field private volatile java.lang.String java.lang.Thread.name accessible: module java.base does not "opens java.lang" to unnamed module @31664cec at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354) at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297) at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178) at java.base/java.lang.reflect.Field.setAccessible(Field.java:172) at org.jboss.as.server@14.0.1.Final//org.jboss.as.server.deployment.reflect.ClassReflectionIndex.<init>(ClassReflectionIndex.java:75) at org.jboss.as.server@14.0.1.Final//org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:70) ... 13 more
已尝试的解决步骤
- 删除Maven仓库目录“.m2”
- 重新将项目导入IntelliJ IDEA
- 卸载机器上除Amazon Correto外的所有Java版本
- 将IntelliJ IDEA升级至最新版本2024.1
关键发现
- 该问题为近期出现,此前项目运行正常
- 相同WAR包可在Linux环境下正常部署
- 手动启动WildFly仍会触发相同错误
核心代码说明
com.mycompany.job.RunMyJob是一个Quartz定时任务类,带有@Stateless注解(导入语句为import javax.ejb.Stateless;)。移除该注解可解决部署问题,但业务需求要求该类保持无状态会话Bean特性,寻求技术解决方案。
内容的提问来源于stack exchange,提问作者Cris Maule
相关产品推荐
相关产品推荐

