我按照他们说的here配置了所有内容。
它仍然无法运行。它只是给了我一个LogManager异常 有人在那里成功运行AspectJ吗?
答案 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>