Java:创建名为';loadTimeWeaver';?
我目前正在从事一个maven项目,但每次尝试部署war时,我都会遇到以下异常:Java:创建名为';loadTimeWeaver';?,java,spring,maven,Java,Spring,Maven,我目前正在从事一个maven项目,但每次尝试部署war时,我都会遇到以下异常: ERROR [DispatcherPortlet:276] Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.context.weaving.AspectJWeavingEnabler#0':
ERROR [DispatcherPortlet:276] Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.context.weaving.AspectJWeavingEnabler#0': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'loadTimeWeaver': Initialization of bean failed; nested exception is java.lang.IllegalStateException: ClassLoader [org.apache.catalina.loader.WebappClassLoader] does NOT provide an 'addTransformer(ClassFileTransforme r)' method. Specify a custom LoadTimeWeaver or start your Java virtual machine with Spring's agent: -javaagent:org.springframework.instrument.jar
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1097)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:661)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:446)
at org.springframework.web.portlet.FrameworkPortlet.createPortletApplicationContext(FrameworkPortlet.java:356)
at org.springframework.web.portlet.FrameworkPortlet.initPortletApplicationContext(FrameworkPortlet.java:294)
at org.springframework.web.portlet.FrameworkPortlet.initPortletBean(FrameworkPortlet.java:268)
at org.springframework.web.portlet.GenericPortletBean.init(GenericPortletBean.java:120)
我只是不明白,当我把一切都准备妥当的时候,为什么会出现这种错误。请在POM.xml中签出我的声明
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.4</version>
<configuration>
<forkMode>once</forkMode>
<argLine>
-javaagent:"path\spring-instrument-3.1.0.RELEASE.jar"
</argLine>
<useSystemClassloader>true</useSystemClassloader>
</configuration>
</plugin>
org.apache.maven.plugins
maven surefire插件
2.4
一旦
-javaagent:“path\spring-instrument-3.1.0.RELEASE.jar”
真的
请指导。如果您正在使用tomcat捆绑包,并且要在tomcat中启用
加载时编织
,请添加到tomcat的lib
目录中,并在tomcat的context.xml
目录中添加以下内容:
<Context path="/test">
<Loader loaderClass="org.springframework.instrument.classloading.tomcat.TomcatInstrumentableClassLoader"/>
</Context>
请参阅tomcat配置上的
注意:tomcat的配置因版本而异。虽然这个问题很久以前就被问到了,但我仍然在回答它。其他人可能会觉得它有用。 如果您使用的是Tomcat,请尝试在适用于windows的catalina.bash或适用于linux服务器的catalina.sh中添加以下内容:
set CATALINA_OPTS=%CATALINA_OPTS% -javaagent:"C:\path\to\spring-instrument-3.1.1.RELEASE.jar"
请记住,它只适用于低于7.0.55的Tomcat版本。在那之后就不需要了。您需要将其添加到context.xml中,如这里所述加载时weaver(aspectj weaver)在apache tomcat 7.0.55中不起作用。请添加完整的stacktrace。还要注意,
spring aspects
模块JAR必须出现在类路径上。我已经更新了我的问题。我尝试了你说的所有内容,但仍然显示相同的错误。你是否尝试使用tomcat版本运行你的Web应用程序?@Shirish参考spring链接中的文档,并按照此处提到的步骤配置tomcat。一个类似的问题@shirish感谢buddy的帮助..我终于解决了。。不需要做一些更改。我已编辑了您的答案。一旦获得批准,我将接受您的答案。干杯。!!