4

私はかなり複雑な Web アプリケーションを持っており、DAO 全体が、@Aspectそれらを必要とするメソッドにアクセスするたびにデータベース エンティティをロードするクラスにアウトソーシングされています。

Web アプリケーションが netbeans から起動されると、このアプローチ全体がうまく機能します。ただし、同じ .war をスタンドアロンの tomcat (同じバージョンの tomcat、同じバージョンの Java) にデプロイしようとすると、起動時に次の例外が発生します。

Caused by: java.lang.IllegalArgumentException: Advice precedence circularity error

そして、問題の原因と、netbeans から起動したときにアプリケーションが正常に動作する理由を理解できません。

Maven設定:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <fork>false</fork>
                <meminitial>256m</meminitial>
                <maxmem>768m</maxmem>
                <source>1.6</source>
                <target>1.6</target>
                <encoding>${project.build.sourceEncoding}</encoding>
                <showWarnings>true</showWarnings>
                <showDeprecation>false</showDeprecation>
                <debug>true</debug>
                <debuglevel>lines,vars,source</debuglevel>
            </configuration>
        </plugin>
        <plugin>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.2</version>
            <configuration>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath>
                    </manifest>
                </archive>
                <webXml>src\main\webapp\WEB-INF\web.xml</webXml>
            </configuration>
        </plugin>

: 3.1.0.RELEASE:

<context:annotation-config />
<context:component-scan base-package="my.package" />
<mvc:annotation-driven />
<mvc:resources mapping="/resources/**" location="/resources/" />
<aop:aspectj-autoproxy />

Java のバージョン:

java -version
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)

正直なところ、どこから始めればいいのかわからないので、この投稿にどの情報を含めるべきかわかりません... 必要に応じて、さらに情報を求めてください。

4

1 に答える 1