私はかなり複雑な 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)
正直なところ、どこから始めればいいのかわからないので、この投稿にどの情報を含めるべきかわかりません... 必要に応じて、さらに情報を求めてください。