1

ここで言うようにすべてを構成しました。

そして、それはまだ実行されません。LogManager 例外が発生するだけです。
そこでAspectJを正常に実行した人はいますか?

4

2 に答える 2

2

考えられる回避策/解決策は次のとおりです(http://wiki.eclipse.org/LTWJboss7から):

java.util.loggingへのアクセスを制限するバグがあるため、IllegalStateExceptionがjBoss7によってスローされます。https://issues.jboss.org/browse/AS7-1- 変更に関して、この問題を回避するための部分的な解決策が提案されています。ロードマネージャがロードされる方法、それを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システムのすべてのモジュール間で共有されます。

于 2012-10-08T22:42:22.947 に答える
1

これは私にとって非常にうまくいきました;)。

ec.com.acme、org.springframework、org.aspectj の 3 つのモジュールを構成しました。

重要なのは、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 に答える