1

我按照他们所说的在这里配置了所有内容。

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

4

2 回答 2

2

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

IllegalStateException 由 jBoss7 引发,因为存在限制对 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 和 aspect.jar 文件添加到 bootclasspath 中,并将下一个选项添加到 JBoss 启动:

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

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

于 2012-10-08T22:42:22.947 回答
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>
于 2013-06-04T17:35:22.647 回答