`

断网时出现java.net.UnknownHostException: jakarta.apache

阅读更多
昨晚上断网后,启动tomcat。
竟然出现了
Caused by: org.springframework.beans.FatalBeanException: Unable to read validation configuration due to IOException.; nested exception is java.net.UnknownHostException: jakarta.apache.org
	at org.springmodules.validation.commons.DefaultValidatorFactory.setValidationConfigLocations(DefaultValidatorFactory.java:75)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:844)
	... 87 more
Caused by: java.net.UnknownHostException: jakarta.apache.org
	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:177)
	at java.net.Socket.connect(Socket.java:520)
	at java.net.Socket.connect(Socket.java:470)
	at sun.net.NetworkClient.doConnect(NetworkClient.java:157)
	at sun.net.www.http.HttpClient.openServer(HttpClient.java:388)
	at sun.net.www.http.HttpClient.openServer(HttpClient.java:523)
	at sun.net.www.http.HttpClient.<init>(HttpClient.java:231)
	at sun.net.www.http.HttpClient.New(HttpClient.java:304)
	at sun.net.www.http.HttpClient.New(HttpClient.java:321)
	at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:813)
	at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:765)
	at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:690)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:934)
	at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
	at org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown Source)
	at org.apache.xerces.impl.XMLEntityManager.startDTDEntity(Unknown Source)
	at org.apache.xerces.impl.XMLDTDScannerImpl.setInputSource(Unknown Source)
	at org.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(Unknown Source)
	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
	at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
	at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
	at org.apache.commons.digester.Digester.parse(Digester.java:1591)
	at org.apache.commons.validator.ValidatorResources.<init>(ValidatorResources.java:159)
	at org.springmodules.validation.commons.DefaultValidatorFactory.setValidationConfigLocations(DefaultValidatorFactory.java:72)
	... 92 more


这个很是不解啊。。

引用
这是因为xml的配置文件验证问题:
1.注意看报异常的位置,确定异常源的配置文件。
2.注意所写的xml配置文件头部的版本与lib库的版本一致,这样会使用本地验证而不会去上网验证。
3.注意所写的xml配置文件头部的格式问题,如
<!DOCTYPE form-validation PUBLIC
          "-//Apache Software Foundation//DTD Commons
           Validator Rules COnfiguration 1.0//EN"
      "http://jakarta.apache.org/commons/dtds/validator_1_0.dtd" >

<!DOCTYPE form-validation PUBLIC
    "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.0//EN"
    "http://jakarta.apache.org/commons/dtds/validator_1_0.dtd">
是不一样的,虽然只有换行的区别,如果用上面的就会出异常,这个validation异常会导致验证页面无效,并且在页面上显示出javascript。


原来是xml文件头的问题。

原来我的xml文件头
<!DOCTYPE form-validation PUBLIC
        "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.3.0//EN"
        "http://jakarta.apache.org/commons/dtds/validator_1_3_0.dtd">

这样会上网去验证。
改成:
<!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN" "validator_1_1_3.dtd" >

这样子就不需要了。。

-----------------------------------------
读取xml文件,xml会去验证自身的格式是否合格。通过dtd文件,去网上验证或者寻找本地dtd文件。。框架本地的DTD在resources包中。如struts:在org.struts.resources...下面。
分享到:
评论
2 楼 li_shou_lu 2011-12-27  
报错了,但是好像不影响使用!!
1 楼 sangood 2009-05-12  
好像只有本地找不到的时候才会去网上找。

相关推荐

Global site tag (gtag.js) - Google Analytics