私はWeld-SEで遊んでいます。私はプラグイン可能なモジュールを持つプロジェクトを持っています。 1つのモジュールで、溶接が機能します。weld-se-coreとweld-servlet-coreを使用すると、CDIの動作が停止しますか?
Exception in thread "main" org.jboss.weld.exceptions.DeploymentException: WELD-001417 Enabled interceptor class <class>org.jboss.weld.environment.se.jpa.JpaTransactionInterceptor</class> in jar:file:/mnt/ssd1/data/.m2/repository/org/jboss/jawabot/JawaBot-core/2.0.0-SNAPSHOT/JawaBot-core-2.0.0-SNAPSHOT.jar!/META-INF/[email protected] is neither annotated @Interceptor nor registered through a portable extension
at org.jboss.weld.bootstrap.Validator.validateEnabledInterceptorClasses(Validator.java:466)
...
ものの:weld-servlet-core
を使用して、他のモジュールは、(それのDEPSで)クラスパスに置かれたとき、CDIは、この(@Inject
ことを取り除いた後)、「依存関係を解決することができませんXY」等のエラーを与えて、動作を停止しますクラスは@Interceptor
です(同じクラスは他のモジュールとうまく動作します)。
私はWeldBootstrap#startContainer(Environment environment, Deployment deployment)
をデバッグ、 deployment.beanDeploymentArchive.beanClasses
はインターセプタ ("org.jboss.weld.environment.se.jpa.JpaTransactionInterceptor"
)が含まれています。
私は依存関係とTattleTaleレポートをチェックしましたが、それらはすべてうまく見えます。
どのようなアイデアを見て、次に試してみるべきですか?
プロジェクトはhttp://ondrazizka.googlecode.com/svn/trunk/bots/JawaBot/branches/2.0/です。エラーを表示するには、mvn依存関係を実行します。copy-dependencies java -cp ... org.jboss.jawabot.JawaBotAppまたはWebモジュールをNetBeansで実行します。
おかげで、Ondra
更新: JIRA:https://issues.jboss.org/browse/WELD-940
はまた、私はそれは溶接のスキャン拡張、<weld:scan>
のバグが原因で発生する可能性があることを発見しました。 (CDI /溶接の用語IIUCでの.jarである)の両方の「パッケージ」にクラスを一致が生じた
<includes>
要素に含まれるパッケージのワイルドカード: