2017-05-02 15 views
1

JSFで開発されたアプリケーションがあり、CDIを使用するように変換しています。このプロセス中にWildflyでテストを行い、変換前と同じように動作させることができました。 Websphereにデプロイしたときに問題が発生しました!Websphereのjavax.enterprise.inject.UnsatisfiedResolutionException

私たちのアプリは、パート1からの結果のjarファイルは、WebSphereに配備warファイルがすでにパートからjarファイルが含まれていることを意味し、パート2に含まれているシンプルパート1とパート2、のための2つの部品を、持っている1.

さて、アプリは以下のエラーを我々は可能な解決策が、今のところ運で検索しました

[4/28/17 16:35:54:107 CEST] 00000083 BeansDeployer E BeansDeployer deploy 
           javax.enterprise.inject.UnsatisfiedResolutionException: Api type [web.frmwrk.mgbean.WebSession] is not found with the qualifiers 
Qualifiers: [@javax.enterprise.inject.Default()] 
for injection into 
Field Injection Point, field : protected web.frmwrk.mgbean.WebSession web.frmwrk.FacesBean.ws, Bean Owner : [-2102135427,Name:dealerLink,WebBeans Type:MANAGED,API Types:[web.mgbean.dealer.Link,web.frmwrk.FacesBean,java.lang.Object,java.io.Serializable],Qualifiers:[javax.enterprise.inject.Default,javax.enterprise.inject.Any,javax.inject.Named]] 
    InjectionType : [class web.frmwrk.mgbean.WebSession] 
    Annotated  : [Annotated Field,Base Type : class web.frmwrk.mgbean.WebSession,Type Closures : [class web.frmwrk.mgbean.WebSession, class web.frmwrk.FacesBean, class java.lang.Object, interface java.io.Serializable],Annotations : [@javax.inject.Inject()],Java Member Name : ws] 
    Qualifiers  : [[@javax.enterprise.inject.Default()]] 
    at org.apache.webbeans.util.InjectionExceptionUtils.throwUnsatisfiedResolutionException(InjectionExceptionUtils.java:92) 

を投げているのWebsphereで起動したとき。検索中、これはpageです。パート1に言及したMANIFEST.MFにClass-Pathを追加しましたが、何も変更されませんでした。

あなたも同様の問題に直面しましたか? WildspeedのようにWebsphereでこの作業を行うために必要な特別な設定はありますか?

+0

Wildfly Weld(CDIリファレンス実装)。 Websphereは別の実装を使用していましたが、OpenWebBeans(最新バージョンではWeldも使用しています)。それらの2つにはかなりの違いがあり、あなたはいくつかにぶつかっているかもしれません。私はOWBについてよく知らないが、何が起こっているかを見ても、展開構造をそのまま投稿してください。特に、EARや共有ライブラリなどを話している場合は、これらの意味が異なることがあります。 – Siliarus

答えて

1

Wildflyで異なるCDIまたはEE仕様レベルを使用している可能性があります。

あなたはバージョンを指定しておらず、その依存関係を満たすクラスも保存されている場所も指定しませんでした。しかし、依存関係を満たすためのクラスを含むjarファイルにbeans.xmlが必要になる可能性があります。

+0

これは通常の "beans.xml"の盲目のことではないと思います。 WeldとOWBの違いが原因であるようです。 1つのASにbeans.xmlがなくてもうまくいけば、それはもう一方で動作しなければならないという仕様です。 – Siliarus

+0

1 ASがCDI 1.0上であることがわかっているので、私にとってはおそらく十分であるようです。 – covener

+1

実際、JEE7を使用していても、OWBには依然としてbean.xmlが必要です。どうもありがとうございました。 – Miguel