我按照他们所说的在这里配置了所有内容。
它仍然不会运行。它只是给了我一个 LogManager 异常。
有人在那里成功运行 AspectJ 吗?
这是一个可能的解决方法/解决方案(来自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 系统中的所有模块之间共享。
这对我来说非常有效;)。
我配置了三个模块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>