Java:创建名为';loadTimeWeaver';?

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':

我目前正在从事一个maven项目,但每次尝试部署war时,我都会遇到以下异常:

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的帮助..我终于解决了。。不需要做一些更改。我已编辑了您的答案。一旦获得批准,我将接受您的答案。干杯。!!