2017-09-07 11 views
0

私のbeans.xmlをどこに置くかによって、プロジェクトCDIはlibの@Namedアノテーション付きクラスjars、またはメインプロジェクトで見つかった@Alternative注釈付きクラスの場合。私は両方を動かすためにそれらを配置する場所を把握することはできません。CDI WELDプロジェクトのWEB-INFのMETA-INFのBeans.xml

私は、いくつかの@Default注釈付きクラスといくつかの@Named注釈付きクラスを持つcore.jarを構築しました。

core.jarは、私のプロジェクトのweb-inf/libにあります。そのプロジェクトで

、環境構築に応じて、私は(WEB-INFに)Webプロジェクトのbeans.xmlの中に指定されているいくつかの@Alternative注釈付きクラスを使用

だから、私は2 beans.xmlのを持っています両方で

(指定された代替案で)を構築し、プロジェクトのlibに配置され、デプロイされるWARプロジェクトのWEB-INFで 1であるcore.jarのMETA-INFで

1 beans.xmlファイルをそれらの場所に置くと、beanshandlerはbeans.xmlに指定されている選択肢を見つけませんWEB-INF戦争の)私はjarファイルの依存関係からMETA-INFからbeans.xmlのを削除し、再デプロイすると

、代替手段が正常に動作している(妙)が、その後@Namedは、クラスがもはや検出された注釈付きません...

アイデア?

答えて

0

あなたは試みることができる:

From CDI 1.1 onwards the alternative can be enabled for the whole 
application using @Priority annotation. 

alternativesで説明したように、あなたが代替案の起動ポイントとしてbeans.xmlのに依存する必要はありません。

関連する問題