有没有人用JBoss AS 7.1.1最终运行AspectJ?

时间:2012-05-22 08:46:38

标签: jboss aspectj

我按照他们说的here配置了所有内容。

它仍然无法运行。它只是给了我一个LogManager异常 有人在那里成功运行AspectJ吗?

2 个答案:

答案 0 :(得分:2)

以下是可能的解决方法/解决方案(来自http://wiki.eclipse.org/LTWJboss7):

  

jBoss7抛出IllegalStateException,因为存在错误   限制对java.util.logging的访问:   https://issues.jboss.org/browse/AS7-1 - 有部分解决方案   建议避免这个问题,关于改变方式   加载loadmanager,将其推送到BootClasspath并添加   几个配置选项。但是我们建议停用   AspectJ追踪设施。您可以通过添加下一个来实现此目的   选项:

-Dorg.aspectj.tracing.enabled=false -Dorg.aspectj.tracing.factory=default
  

由于新的JBoss类加载器和模块化架构,类   存储在javaagent中的其余模块不可见,所以   你的方面将无法找到,你会得到不同类型的   错误。为了让您的所有代码都能找到您的方面   将aspectjweaver和aspects.jar文件添加到bootclasspath和   为JBoss启动添加下一个选项:

-Djboss.modules.system.pkgs=org.aspectj,com.yourcompany.aspects.package
  

使所有这些包下的每个类共享   JBoss系统中的模块。

答案 1 :(得分:1)

这对我来说非常有效;)。

我已经配置了三个模块ec.com.acme,org.springframework,org.aspectj。

关键是将ironjacamar模块添加为org.aspectj模块的依赖项,并将它们导出为依赖于org.aspectj模块的所有模块,例如org.springframework模块:

org.aspectj模块配置:

<module xmlns="urn:jboss:module:1.1" name="org.aspectj">
    <resources>             
        <resource-root path="aspectjweaver-1.7.2.jar"/>
    </resources>
    <dependencies> 
        <!--Add and export it to work-->
        <module name="org.jboss.ironjacamar.jdbcadapters"  export="true"/>          
    </dependencies>
</module>

模块配置org.springframework:

<module xmlns="urn:jboss:module:1.1" name="org.springframework">
    <resources>     
        <resource-root path="com.springsource.org.aopalliance-1.0.0.jar"/>
        <resource-root path="org.springframework.aop-3.1.0.RELEASE.jar"/>
        <resource-root path="org.springframework.asm-3.1.0.RELEASE.jar"/>
        <resource-root path="org.springframework.aspects-3.1.0.RELEASE.jar"/>
        <resource-root path="org.springframework.beans-3.1.0.RELEASE.jar"/>
        <resource-root path="org.springframework.context-3.1.0.RELEASE.jar"/>
        <resource-root path="org.springframework.context.support-3.1.0.RELEASE.jar"/>
        <resource-root path="org.springframework.core-3.1.0.RELEASE.jar"/>
        <resource-root path="org.springframework.expression-3.1.0.RELEASE.jar"/>        
        <resource-root path="org.springframework.jdbc-3.1.0.RELEASE.jar"/>
        <resource-root path="org.springframework.orm-3.1.0.RELEASE.jar"/>
        <resource-root path="org.springframework.oxm-3.1.0.RELEASE.jar"/>
        <resource-root path="org.springframework.transaction-3.1.0.RELEASE.jar"/>
        <resource-root path="org.springframework.web-3.1.0.RELEASE.jar"/>
        <resource-root path="org.springframework.web.servlet-3.1.0.RELEASE.jar"/>
        <resource-root path="spring-batch-core-2.1.9.RELEASE.jar"/>
        <resource-root path="spring-batch-infrastructure-2.1.9.RELEASE.jar"/>
    </resources>
    <dependencies>              
        <module name="org.apache.commons.logging" export="true"/>    
        <module name="org.hibernate" slot="3" export="true"/>   
        <module name="javax.api"/>
        <module name="javax.annotation.api"/>
        <module name="javax.el.api"/>
        <module name="javax.enterprise.api"/>
        <module name="javax.ejb.api"/>
        <module name="javax.faces.api"/>
        <module name="javax.interceptor.api"/>            
        <module name="javax.servlet.api"/>
        <module name="javax.servlet.jsp.api"/>
        <module name="javax.transaction.api"/>            
        <module name="javax.xml.bind.api"/> 
        <!--Add and export it to work-->            
        <module name="org.aspectj" export="true"/>
        <module name="com.ibm.as400" slot="main" export="true"/>                
    </dependencies>
</module>

ec.com.acme模块配置:

<module xmlns="urn:jboss:module:1.1" name="ec.com.acme">
    <resources>     
        <resource-root path="prjAcme.jar"/>     
    </resources>
    <dependencies>      
        <module name="org.apache.commons.lang" slot="main" export="true"/>
        <module name="org.apache.commons.beanutils" slot="main" export="true"/>
        <module name="org.apache.commons.collections" slot="main" export="true"/>                       
        <module name="org.apache.commons.io" slot="main" export="true"/>
        <module name="org.apache.commons.lang3" slot="main" export="true"/>
        <!--Add and export it to work-->
        <module name="org.springframework" slot="main" export="true"/>                      
    </dependencies>
</module>