2011-07-09 4 views
1

私は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>要素に含まれるパッケージのワイルドカード:

答えて

1

は、それは溶接のスキャン拡張、<weld:scan>を使用することによって引き起こされました。

私が不適切に使用したのか、それともバグなのか分かりません。
JIRA:https://issues.jboss.org/browse/WELD-940

関連する問題