古いバージョンのomnifaces - 1.8.3を実行していましたが、今は最新の2.6.3にアップデートしました。 。omnifaces jarを更新しました。私のコンバータがあいまいであると言われました。
2017-07-10T16:32:46.631+0300|Warning: StandardWrapperValve[Faces Servlet]: Servlet.service() for servlet Faces Servlet threw exception
org.jboss.weld.exceptions.AmbiguousResolutionException: WELD-001318: Cannot resolve an ambiguous dependency between:
- Managed Bean [class kamelon.ui.convertors.LoginConverter] with qualifiers [@Any @Default],
- Managed Bean [class kamelon.ui.convertors.IdentityHashCodeConverter] with qualifiers [@Any @Default],
- Managed Bean [class kamelon.ui.convertors.IdentifiableConvertor] with qualifiers [@Any @Default]
at org.jboss.weld.manager.BeanManagerImpl.resolve(BeanManagerImpl.java:1235)
at org.jboss.weld.util.ForwardingBeanManager.resolve(ForwardingBeanManager.java:91)
at org.jboss.weld.bean.builtin.BeanManagerProxy.resolve(BeanManagerProxy.java:115)
at org.omnifaces.util.BeansLocal.resolve(BeansLocal.java:77)
at org.omnifaces.cdi.converter.ConverterManager.createConverter(ConverterManager.java:122)
at org.omnifaces.cdi.converter.ConverterManager$Proxy$_$$_WeldClientProxy.createConverter(Unknown Source)
at org.omnifaces.application.OmniApplication.createConverter(OmniApplication.java:82)
at com.sun.faces.facelets.tag.jsf.ValueHolderRule$LiteralConverterMetadata.applyMetadata(ValueHolderRule.java:85)
at com.sun.faces.facelets.tag.MetadataImpl.applyMetadata(MetadataImpl.java:81)
at javax.faces.view.facelets.MetaTagHandler.setAttributes(MetaTagHandler.java:129)
at javax.faces.view.facelets.DelegatingMetaTagHandler.setAttributes(DelegatingMetaTagHandler.java:102)
at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.doNewComponentActions(ComponentTagHandlerDelegateImpl.java:491)
....
を私は< P指定されている:(コンポーネント)> < F:> <コンバータ/問題は、私は本当にきちんと私が取得しています.xthml JSF
例外をデバッグする方法がわからないです多くのファイルでp :(コンポーネント)>を使用していますが、私は< p:(コンポーネント)converter = "" />に変更する必要があるのかどうか、新しいバージョンに追加する必要があるかどうかはわかりません。
新しいバージョンの問題は何か分かりませんが、誰かを助けることができますか?
ありがとうございます!
plain jsfコンポーネントで同じ問題がありますか?これはxhtmlの問題ではなく、Beanの問題です。あなたはどこからでもインターフェイスを注入できますか? – Kukeltje
別のコンバーターを拡張して再試行するコンバーターのサブクラスに '@ Specializes'を入れてください(http://showcase.omnifaces.org/cdi/FacesConverterも参照)。それでもまだ失敗した場合、使用されているサーバー/ JSF/CDIのバージョンについてもっと詳しく教えてください。 – BalusC
私はそれを修正し、下記のソリューションを掲載しました。 –