2017-03-15 29 views
0

私は、WebLogic Application Server上でJSF 2.2上で動作するWebアプリケーションを持っています。CDI Bean名の初期化が不明確

私は単純なJavaクラスを持ち、CDIを使用してApplicationScopedオブジェクトとして初期化しようとしています。以下のコードはうまく動作し、展開されます。

weblogic.management.DeploymentException: CDI deployment failure:WELD-001414: Bean name is ambiguous. Name appContext resolves to beans: [Managed Bean [class beans.AppContext] with qualifiers [@Default @Any @Named], Managed Bean [class beans.AppContext] with qualifiers [@Default @Any @Named]]:org.jboss.weld.exceptions.DeploymentException:WELD-001414: Bean name is ambiguous. Name appContext resolves to beans: [Managed Bean [class beans.AppContext] with qualifiers [@Default @Any @Named], Managed Bean [class beans.AppContext] with qualifiers [@Default @Any @Named]] 
    at org.jboss.weld.bootstrap.Validator.validateBeanNames(Validator.java:641) 
    at org.jboss.weld.bootstrap.Validator.validateDeployment(Validator.java:487) 
    at org.jboss.weld.bootstrap.WeldStartup.validateBeans(WeldStartup.java:446) 
    at org.jboss.weld.bootstrap.WeldBootstrap.validateBeans(WeldBootstrap.java:90) 
    at com.oracle.injection.provider.weld.WeldInjectionContainer.start(WeldInjectionContainer.java:150) 
    Truncated. see log file for complete stacktrace 

:私は@Namedアノテーションでオブジェクトを初期化しようとすると、

import javax.enterprise.context.ApplicationScoped; 

@ApplicationScoped 
public class AppContext { 
    public AppContext() { 
    } 
} 

はしかし、それは例外ログは以下の通りです今までそう何

import javax.enterprise.context.ApplicationScoped; 
import javax.inject.Named; 

@Named 
@ApplicationScoped 
public class AppContext { 
    public AppContext() { 
    } 
} 

展開に失敗しますWEB-INF \ beans.xmlも次のとおりです。

上で実行されている0

アプリケーション:この問題を修正上の任意のヒントが高く評価される

JDK 1.8 b121; 
Mojarra JSF 2.2; 
WebLogic 12.2.1.1; 

+1

リンクを探すと役立つことがありますhttp://stackoverflow.com/questions/10994158/difference-between-named-and-managedbean-annotations-in-jsf2-0-tomcat7 –

+1

最初の外観から - 例外には同じ名前の2つのBean(「appContext」)があります。 Beanにカスタム名を付けてみてください。例えば。 '@Named(" myAppContextBean ")と何が起こるかを見てください。 – Siliarus

+0

ありがとう@Siliarus!私はあなたの提案を試みたが、同じエラーメッセージが表示されています。実際に表示されるエラーメッセージ以外に何か他のものがあります。 –

答えて

0

私は最終的に展開することができました。

しかし、私はWARをEARから削除し、それを別々に配備しなければなりませんでした。なんらかの理由で、WARをEARにパッケージ化してデプロイすると失敗します。これがWebLogicまたはEAR構成の問題であるかどうかは不明です。

関連する問題