2011-07-14 9 views
1

私のプログラム、(基本的に異なるヘッダと名前を除いてGWTのサンプルコードは、)完璧を働いていた - !私はfavicon.ICOファイルと<link rel="icon" href="favicon.ico" type="image/x-icon" />を追加するまで!今、私のプログラムを返します:GWTのfavicon.icoを返すエラー(GWTとJava)

[WARN] Unable to process '.../war/WEB-INF/web.xml' for servlet validation

org.xml.sax.SAXNotRecognizedException: http://apache.org/xml/features/nonvalidating/load-external-dtd 
    at gnu.xml.aelfred2.JAXPFactory.setFeature(JAXPFactory.java:102) 
    at com.google.gwt.dev.ServletValidator.create(ServletValidator.java:188) 
    at com.google.gwt.dev.ServletValidator.create(ServletValidator.java:172) 
    ... 

[ERROR] Failure while parsing XML

org.xml.sax.SAXNotRecognizedException: http://apache.org/xml/features/nonvalidating/load-external-dtd 
    at gnu.xml.aelfred2.JAXPFactory.setFeature(JAXPFactory.java:102) 
    at com.google.gwt.dev.util.xml.ReflectiveParser$Impl.parse(ReflectiveParser.java:324) 
    at com.google.gwt.dev.util.xml.ReflectiveParser$Impl.access$100(ReflectiveParser.java:48) 
    ... 

[ERROR] Unexpected error while processing XML

com.google.gwt.core.ext.UnableToCompleteException: (see previous log entries) 
    at com.google.gwt.dev.util.xml.ReflectiveParser$Impl.parse(ReflectiveParser.java:355) 
    at com.google.gwt.dev.util.xml.ReflectiveParser$Impl.access$100(ReflectiveParser.java:48) 
    at com.google.gwt.dev.util.xml.ReflectiveParser.parse(ReflectiveParser.java:402) 

[ERROR] shell failed in doStartup method

私は今を削除しました。favicon.ICOです。私のプログラムはです。は同じエラーを返します!

コードまたはfaviconに問題がありますか? 私は本当に混乱していますGWT Eclipseプラグインに

を使用しています!どんな体でもかまいません私を助けてください?

答えて

3

gnu.xml.aelfred2スタックトレースでベルが鳴ります:クラスパスを変更しましたか?または$JAVA_HOME/jre/lib/extにgnujaxp.jarを入れますか? (http://www.gnu.org/software/classpathx/jaxp/を参照)、またはスイッチされたJRE/JDK?

GWTはApache Xerces(BTWはJAXPのリファレンス実装であり、Sun/Oracle JRE/JDKとOpenJDKに含まれているものです)と話していますが、JVMはGNUÆlfred2実装代わりに。
さらに、gwt-dev.jarバンドル Xercesだから、Ælfred2を使用する唯一の理由は、クラスパスまたはブートクラスパスの問題のためです。

+0

いいえ、私は 'CLASSPATH'システム変数で何も変更していません。 –

+0

@Java私はより多くの情報で私の答えを編集しました。あなたの問題を解決することを願っています。 –

+0

私の 'CLASSPATH'と' Path'はうまく見えます(私は 'Windows XP'を使っています)。私は非常に経験豊富なプログラマーではない、あなたは何を期待するか教えてくれますか?それに 'GWT'について何か付けるべきですか?私の 'CLASSPATH'は'。; 'で、' PATH'は 'H:¥Program Files¥Java¥jdk1.6.0_25¥bin;%SystemRoot%¥system32 ...'です。 –

0

GWTがxercesを検出できないようです。同じ問題がありましたが、クラスパスでgnujaxp.jarが見つかりませんでした。私はxercesImpl-2.6.2.jarをweb-inf/libフォルダに落としました。

+1

Thomas Broyerの答えで 'gwt-dev.jar' _bundles_ Xercesと書かれているので、私は既にそれを持っています。私はGWTが 'gnujaxp.jar'のためにÆlfred2を使っていたと思います。 –

+0

はい - それはバンドルされていますが、GWTライブラリはまだgnujaxp **を最初に見つけます**。 Xercesライブラリを追加することで問題を回避できたようです。その理由は、XercesライブラリがGWTライブラリの前にロードされているためです。 GWTライブラリがXercesのように見える時、ロードされたものと一緒に提供されます。 –