2017-09-13 14 views
0

私の現在のプロジェクトは、warとejbモジュールで構成され、jar(maven経由で組み込み)を使用しています。このjarファイルにはCDIコンポーネントが含まれています。これをwarモジュールに挿入すると期待通りに動作しますが、これをejbモジュールに挿入すると、EclipseのWAS 8.5(完全プロファイル)から起動時にNoClassDefFoundErrorが発生します。eclipse:EJBモジュールの外部CDI:NoClassDefFoundError

最初にサーバーを起動したら、後でインジェクションを追加して再起動すると動作するように見えます。また、私がLibertyプロファイルを使用するときにも動作します。また、Z/osとIPAS上では期待通りに動作します。

私は、クラスローディングには何かがあるかもしれないと思っていますが、これを正しく解決する方法はありません。

[13-9:Eclipseのネオンを使用

は、コンポーネントこれはスタックトレースの最初の部分でのJava 6

を使用している間 プロジェクトは、Java 8を使用しているJEE6、8.5.5.11完全プロフィールWAS -17 14:54:26:589 CEST] 0000003e InjectionProc W CWNEN0047W:BestelFacadeクラスのフィールドのリソース注釈は無視されます。注釈があるためEXC eptionを得ることができなかった。java.lang.Class.getDeclaredFieldsImplでロガー (ネイティブメソッド)

おかげ

+0

JARはどこに配置されていますか(ear/libまたはwar/lib)?どのBeanに含まれていますか(純粋なCDI、またはEJBステートレス/ステートフルBean)? 'NoClassDefFoundError'もここに貼り付けてください。 – Siliarus

+0

クラスのクラスファイルは、これを行おうとしているクラスローダーでは使用できません。あなたはおそらく他の場所に置く必要があります。 –

+0

@Siliarus jarファイルは他のファイルと同じように依存関係にあります。私が知っている限り、それは純粋なCDI beanを含んでいます(私が使用したアノテーションは@Dependentです)。エラーについては、編集した質問を参照してください。 – Bgvv1983

答えて

0

私は仕事を得るための方法を見つけましたが、私は実際の問題をマスキングしているときに、これが適切な解決策であるか、単に回避策であるかは不明です。

私はソース列cで見、耳モジュールアセンブリを見てみましょう:私は/にソースを変更する場合/ WSは、瓶と配備パスのlib /ジャーに

を/.../。 .ear/target /../ jarは動作します

関連する問題