Jersey2 Spring Tomcat加载时间weaver无法正常工作

时间:2015-07-28 10:16:17

标签: spring hibernate tomcat aspectj jersey-2.0

我在Spring的JAX-RS(Jersey2)应用程序中使用hibernate作为JPA提供程序。 我试图在JPA实体内自动装配一些业务服务。我在context.xml中声明了一个loader类

<Context path="/">
    <Loader loaderClass="org.springframework.instrument.classloading.tomcat.TomcatInstrumentableClassLoader"/>
</Context>

并将spring-instrument.tomcat.4.1.17.jar复制到tomcat / libs

我还补充说:

<context:load-time-weaver/>

到我的applicationContext.xml

aop.xml位于resources / META-INF / aop.xml:

<!DOCTYPE aspectj PUBLIC
        "-//AspectJ//DTD//EN" "http://www.eclipse.org/aspectj/dtd/aspectj.dtd">
<aspectj>
    <weaver options="-verbose -showWeaveInfo -XmessageHandlerClass:org.springframework.aop.aspectj.AspectJWeaverMessageHandler">
        <include within="com.appolica.server.musyme.*"/>
    </weaver>

</aspectj>

我已尝试过web 3.0和2.5配置。还有tomcat 8+和7 +。

实体类使用@Configurable注释。

我在日志中唯一得到的是

Using a reflective load-time weaver for class loader: org.springframework.instrument.classloading.tomcat.TomcatInstrumentableClassLoader

我拥有所有可能的aspectj和spring aop依赖项:

compile 'org.aspectj:aspectjrt:1.8.6'
compile 'org.aspectj:aspectjweaver:1.8.6'
runtime 'org.aspectj:aspectjweaver:1.8.6'

compile 'org.springframework:spring-aspects:4.1.7.RELEASE'
compile "cglib:cglib:2.2"

compile "org.springframework:spring-aop:4.1.7.RELEASE"

compile 'org.springframework:spring-instrument-tomcat:4.1.7.RELEASE'
compile 'org.springframework:spring-instrument:4.1.7.RELEASE'

我真的很绝望,因为我已经尝试了我能想到/在互联网上找到的所有内容,而且服务永远不会被自动装配。

1 个答案:

答案 0 :(得分:0)

我猜有关于你的配置文件和代码的更多细节..但只有这个..我可以问你是否有

<context:component-scan base-package="..... "/>
applicationContext.xml 文件中的