似乎不能让我的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虽然我有:
jvmArgs与-javaagent:....添加到jetty plugin配置中发布于 2012-12-11 07:54:36
可能你少了几个罐子aspectjweaver aspectjrt spring-instrument
此外,您可能希望显式地在applicationcontext.xml文件中定义bean applicationcontext.xml。
<property name="loadTimeWeaver">
<bean id="instrumentationLoadTimeWeaver" class="org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver"/>
</property>发布于 2013-03-20 21:19:26
当从Maven (使用mvn : run )启动Jetty时,Jetty将与maven运行在同一个JVM中,因此您需要使用MAVEN_OPTS传递任何选项。
(确保在javaagent之前包含减号,因为我在您的代码片段中没有看到)。
导出MAVEN_OPTS=-javaagent:org.springframework.instrument-3.0.5.RELEASE.jar
使用Maven在jetty中进行加载时编织的完整示例可以在Github上找到。
https://github.com/zzantozz/testbed/tree/master/spring-aspectj-load-time-weaving-in-jetty
发布于 2013-03-14 16:38:19
如果没有更多关于pom.xml文件的详细信息.这可不容易。但是,jetty插件的一个常见问题是依赖关系。
我一直适用的一条规则是将war的所有依赖项与作用域作为maven-jetty的直接依赖项。
我建议您将spring和spring方面作为maven-jetty的直接依赖项。
根据我的理解:
将javaagent:/Users/blabla/.m2/repository/org/springframework/spring-instrument/3.1.3.RELEASE/spring-instrument-3.1.3.RELEASE.jar设置为MAVEN_OPTS
是将jvm args传递给jetty JVM的正确方法(因为jetty运行在与maven相同的JVM中)
https://stackoverflow.com/questions/13799393
复制相似问题