GWT favicon.ico返回错误!(GWT和Java)

GWT favicon.ico返回错误!(GWT和Java),java,gwt,icons,saxparser,Java,Gwt,Icons,Saxparser,我的程序(基本上是GWT示例代码,除了不同的标题和名称)工作得很好-直到我添加了favicon.ICO文件和!现在我的程序返回: [WARN]无法为servlet验证处理“…/war/WEB-INF/WEB.xml” org.xml.sax.SAXNotRecognizedException: http://apache.org/xml/features/nonvalidating/load-external-dtd at gnu.xml.aelfred2.JAXPFactory.set

我的程序(基本上是GWT示例代码,除了不同的标题和名称)工作得很好-直到我添加了favicon.ICO文件和!现在我的程序返回:

[WARN]无法为servlet验证处理“…/war/WEB-INF/WEB.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.ServletValidator.create(ServletValidator.java:188)
    at com.google.gwt.dev.ServletValidator.create(ServletValidator.java:172)
    ...
解析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)
    ...
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]处理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)
    ...
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)
[错误]在doStartup方法中shell失败

我现在已经删除了favicon.ICO,我的程序仍然返回同样的错误

代码有问题,还是
favicon有问题?
我正在使用GWT Eclipse插件


我真的很困惑!!!请任何人帮我一下好吗?

gnu.xml.aelfred2
在stacktrace里响起了一个铃声:你对你的类路径做了什么改变了吗?或者将gnujaxp.jar放在
$JAVA_HOME/jre/lib/ext
中?(请参阅)或切换JRE/JDK

很明显,GWT认为它在与Apache Xerces对话(顺便说一句,它是JAXP的参考实现,包含在Sun/Oracle JRE/JDK和OpenJDK中),但您的JVM给了它一个GNUÆlfred2实现
此外,
gwt-dev.jar
捆绑Xerces,因此使用Ælfred2的唯一原因是类路径或引导类路径问题。

gwt似乎找不到Xerces。我也有同样的问题,但在我的类路径上找不到gnujaxp.jar。我将xercesImpl-2.6.2.jar放入web inf/lib文件夹,它开始工作。

否,我没有更改我的
类路径
系统变量中的任何内容。@Java我用更多信息编辑了我的答案,请查看;希望它能解决您的问题。我的
类路径
路径
看起来不错(我正在使用
Windows XP
)。我不是一个很有经验的程序员,你能告诉我期望什么吗?我应该在里面放些关于GWT的东西吗?我的
类路径
和我的
路径是
H:\ProgramFiles\Java\jdk1.6.0\u 25\bin;%SystemRoot%\system32…
。类路径是从Eclipse项目“Build Path”生成的,而不是
classpath
环境变量。未使用
路径
环境变量;Eclipse配置的JRE是(查看Eclipse中DevMode的启动器配置)。最后,看看
H:\ProgramFiles\Java\jdk1.6.0\u25\jre\lib\ext
(假设它是Eclipse项目使用的jre),当然,如果有
gnujaxp.jar
(或类似的)的话
gnujaxp.jar
导致错误。因此,要么你在构建路径中有它(但你说你没有更改类路径,所以我认为这不是问题),要么你在
jre\lib\ext
中有它。从构建路径中删除
gnujaxp.jar
,至少对于GWT的DevMode和编译器启动(在服务器端代码中使用它不应该是问题),正如Thomas Broyer在回答
GWT-dev.jar
中所说,所以我已经有了它。我猜GWT之所以使用Ælfred2是因为
gnujaxp.jar
。是的,它确实捆绑了它,但GWT库仍然首先找到了gnujaxp。似乎我通过添加Xerces库避免了这个问题。可能的原因是Xerces库在GWT库之前加载。当GWT库看起来像Xerces时,它会与加载的库一起提供。