私はサンプルコードを入力した後、私はhttp://docs.oracle.com/javaee/7/tutorial/doc/jsf-facelets005.htm#GIQZRはjava.util.concurrent.ConcurrentHashMap.putIfAbsent
からのJava EE 7チュートリアルを読んでいる時にjava.lang.NullPointerExceptionが発生します章私のIDEで8.5複合コンポーネントとGlassFish4.0上の例を実行するには、私はその後、私はこのチュートリアルの古いバージョンをチェックし、エラー
java.lang.NullPointerException
at java.util.concurrent.ConcurrentHashMap.putIfAbsent(ConcurrentHashMap.java:1078)
at com.sun.faces.util.Cache.get(Cache.java:116)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.getComponentMetadata(FaceletViewHandlingStrategy.java:237)
at com.sun.faces.application.ApplicationImpl.createComponent(ApplicationImpl.java:951)
at javax.faces.application.ApplicationWrapper.createComponent(ApplicationWrapper.java:648)
を持って、私は違いを発見しました。私は、Java EE 6のバージョンにコードを変更した後
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:composite="http://xmlns.jcp.org/jsf/composite"
xmlns:h="http://xmlns.jcp.org/jsf/html">
<h:head>
<title>This content will not be displayed</title>
</h:head>
<h:body>
<composite:interface>
<composite:attribute name="value" required="false"/>
</composite:interface>
<composite:implementation>
<h:outputLabel value="Email id: "></h:outputLabel>
<h:inputText value="#{cc.attrs.value}"></h:inputText>
</composite:implementation>
</h:body>
</html>
のが、Java EE 6バージョン
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:composite="http://java.sun.com/jsf/composite"
xmlns:h="http://java.sun.com/jsf/html">
<h:head>
<title>This content will not be displayed</title>
</h:head>
<h:body>
<composite:interface>
<composite:attribute name="value" required="false"/>
</composite:interface>
<composite:implementation>
<h:outputLabel value="Email id: "></h:outputLabel>
<h:inputText value="#{cc.attrs.value}"></h:inputText>
</composite:implementation>
</h:body>
</html>
に:のJava EE 7バージョンemail.xhtmlコードで
は、次のようなものです、エラーはなくなります。違いは名前空間です。これがこのチュートリアルの問題かどうかはわかりません。知ってる?
リンクからjar Mojarra 2.2.2をダウンロードして、/ modulesに入れました。しかし、私はまだ同じ問題があります。私はGlassFish 4.1を待つべきだと思います。とにかく、あなたの返事をありがとう。 – Chris
未修正のGF4セットアップで問題を再現できました。 Mojarra 2.2.2でアップグレードした後、ユースケースが私のために働き始めました。あなたはGF4 work/cache/deployフォルダをクリーンアップしましたか?どのようにサーバーを管理していますか?スタンドアローンまたはIDE経由ですか?私自身も非常に問題を確認/経験していなければ、私は一般に回答を投稿しないことに注意してください。 – BalusC
最初のコメントは残念です。 jarファイルの名前を変更してGlassFishに最初にロードさせることを忘れてしまいます。それは今働く。おかげで – Chris