Spring 6.2.7+EclipseLink 4.0.6在Wildfly 36.0.1(JDK17.0.2)环境下部署EAR应用的织入(Weaving)问题求助
Spring 6.2.7+EclipseLink 4.0.6在Wildfly 36.0.1(JDK17.0.2)环境下部署EAR应用的织入(Weaving)问题求助
各位大佬好!最近部署一个EAR应用时卡壳在织入环节了,特意来这儿求支招。先把我的环境和技术栈理清楚:
- 应用依赖:Spring Framework 6.2.7(划重点:不是Spring Boot) + EclipseLink 4.0.6
- 运行服务器:Wildfly 36.0.1
- JDK版本:OpenJDK 17.0.2
启动应用时直接抛出了织入相关的异常,核心报错内容如下:
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'loadTimeWeaver': ClassLoader [org.jboss.modules.ModuleClassLoader] does NOT provide an 'addTransformer(ClassFileTransformer)' method. Specify a custom LoadTimeWeaver or start your Java virtual machine with Spring's agent: -javaagent:org.springframework.instrument-{version}.jar
我自己琢磨了下,Wildfly用的ModuleClassLoader确实和标准类加载器不一样,不支持Spring默认的LoadTimeWeaver机制。目前试了两个方向但都没走通:
- 尝试配置Spring针对JBoss的
JBossLoadTimeWeaver,但不确定Spring 6里这个类的使用逻辑有没有调整,配置后还是报类似错误 - 考虑换成EclipseLink的静态织入,但这样就得改动构建流程,有点折腾,优先想搞定运行时织入的方案
有没有前辈碰到过同款问题?或者对Wildfly类加载、Spring织入这块熟的,给我指条明路呗!
内容来源于stack exchange
相关产品推荐
相关产品推荐

