引起:java.lang.ClassNotFoundException:JBOSS AS中的org.aspectj.weaver.BCException

时间:2015-03-04 10:31:25

标签: java maven jboss aspectj spring-aop

目前,我的应用服务器无法启动,因为当我的依赖关系已经在maven中公开并且在我耳边捆绑在一起时,它报告找不到类。

基本上,如何让JBOSS 7.1顺利地与AspectJ配合使用。

也许我需要添加一个模块? AspectJ模块?

任何建议都会很棒。

有关错误的更多详细信息

01:18:41,515 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/]] (MSC service thread 1-7) Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener: java.lang.NoClassDefFoundError: org/aspectj/weaver/BCException
    at java.lang.Class.getDeclaredMethods0(Native Method) [rt.jar:1.7.0_45]
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2531) [rt.jar:1.7.0_45]
    at java.lang.Class.getDeclaredMethods(Class.java:1855) [rt.jar:1.7.0_45]
    at org.springframework.core.type.StandardAnnotationMetadata.hasAnnotatedMethods(StandardAnnotationMetadata.java:159) [spring-core-3.1.1.RELEASE.jar:3.1.1.RELEASE]

1 个答案:

答案 0 :(得分:0)

由于我的app服务器加载了Spring的预定义模块列表。我不得不用自己的方式覆盖它。

示例如下所示。

<module xmlns="urn:jboss:module:1.1" name="org.springframework.spring">

<resources>
    <resource-root path="spring-aop-3.1.1.RELEASE.jar"/>
    <resource-root path="spring-asm-3.1.1.RELEASE.jar"/>
    <resource-root path="spring-beans-3.1.1.RELEASE.jar"/>
    <resource-root path="spring-context-3.1.1.RELEASE.jar"/>
    <resource-root path="spring-core-3.1.1.RELEASE.jar"/>
    <resource-root path="spring-expression-3.1.1.RELEASE.jar"/>
    <resource-root path="spring-web-3.1.1.RELEASE.jar"/>
    <resource-root path="aopalliance-1.0.jar"/> <!-- added -->
    <resource-root path="cglib-nodep-2.2.2.jar"/> <!-- added --> 
    <resource-root path="aspectjrt-1.6.11.jar"/> <!-- added -->
    <resource-root path="aspectjweaver-1.6.11.jar"/> <!-- added -->
</resources>

<dependencies>
   ...
</dependencies>

</module>