似乎无法让我的 spring webapp 使用 jetty-maven 插件
我总是得到
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'loadTimeWeaver': Initialization of bean failed; nested exception is java.lang.IllegalStateException: ClassLoader [org.eclipse.jetty.webapp.WebAppClassLoader] 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.jar
虽然我有:
- 将 MAVEN_OPTS 设置为 javaagent:/Users/blabla/.m2/repository/org/springframework/spring-instrument/3.1.3.RELEASE/spring-instrument-3.1.3.RELEASE.jar
- 将 JAVA_OPTIONS 设置为相同的内容
- 将 dep 添加到 spring-instrument 和 spring-aspects
- 将带有
-javaagent:....
的jvmArgs
添加到 jetty-maven-plugin 配置
最佳答案
可能你缺少几个 jar aspectjweaver
aspectjrt
spring-instrument
此外,您可能想尝试在 applicationcontext.xml 文件中显式定义 bean loadTimeWeaver
。
<property name="loadTimeWeaver">
<bean id="instrumentationLoadTimeWeaver" class="org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver"/>
</property>
关于spring - jetty-maven-plugin 和 loadTimeWeaver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13799393/