1

現在、Tomcat の代わりに JBoss で実行するように、JAX RS アプリケーション (CXF と Spring を使用) を更新しています。

Tomcat には正常にデプロイされますが、JBoss にデプロイしようとすると、aspectj から「このタイプ名に一致しないという警告」というエラーが表示されます。存在しないと主張するクラスは、Spring xml 構成内で宣言されたポイント カットに使用されています。クラス自体は、WAR 内で反抗的にコンパイルされます。

これはクラスローダーの問題だと推測していますが、JBoss について十分に理解していません。

なぜこれが起こっているのか、そしてその解決策を誰かが提案できますか?

4

1 に答える 1

1

これはクラスの読み込みの問題でしたが、私の問題ではありませんでした。織られているクラスの 1 つはデータソースです。Jboss バージョンの WAR に Jboss データ ソースを使用していたため、Jboss ではデータ ソースは org.jboss.jca.adapters.jdbc.WrapperDataSource でしたが、tomcat では org.apache.commons.dbcp.BasicDataSource でした。

その結果、ウィービング プロセス中に、aspectJ は jboss クラスのロードに失敗していました。追加する

<dependencies>
  <module name="org.jboss.ironjacamar.jdbcadapters"/>
</dependencies>

問題を解決しました。これについて言及している Spring フォーラムの投稿があります: http://forum.springsource.org/showthread.php?113581-Spring-JBoss7-aop-problems-to-get-datasource

于 2012-10-11T10:50:24.823 に答える