GWT favicon.ico返回错误!(GWT和Java)
我的程序(基本上是GWT示例代码,除了不同的标题和名称)工作得很好-直到我添加了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
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时,它会与加载的库一起提供。