1. 程式人生 > >Caused by: java.net.UnknownHostException: struts.apache.org

Caused by: java.net.UnknownHostException: struts.apache.org

exec standard help strong .config cati 解決辦法 internal nal

啟動項目後報這個錯

Line: 184 - java/net/AbstractPlainSocketImpl.java:184:-1
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:70)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:446)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:490)
at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:74)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:57)
at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:279)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:260)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4809)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5485)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: Unable to load file:/D:/apache-tomcat-7.0.52/webapps/graduatephotos/WEB-INF/classes/struts.xml - Class: java.net.AbstractPlainSocketImpl


File: AbstractPlainSocketImpl.java
Method: connect
Line: 184 - java/net/AbstractPlainSocketImpl.java:184:-1
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:1022)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadDocuments(XmlConfigurationProvider.java:165)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.init(XmlConfigurationProvider.java:132)
at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:225)
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:67)
... 16 more
Caused by: struts.apache.org - Class: java.net.AbstractPlainSocketImpl
File: AbstractPlainSocketImpl.java
Method: connect
Line: 184 - java/net/AbstractPlainSocketImpl.java:184:-1
at com.opensymphony.xwork2.util.DomHelper.parse(DomHelper.java:119)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:1017)
... 20 more
Caused by: java.net.UnknownHostException: struts.apache.org

at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at java.net.Socket.connect(Socket.java:538)

報錯的原因就是因為沒有聯網,它無法加載"http://struts.apache.org/dtds/struts-2.5.dtd這個DTD文件,所以報錯,解決辦法除了讓電腦連上網之外,就是修改"http://struts.apache.org/dtds/struts-2.5.dtd對應的文件位置,讓它從本地去查找這個DTD文件,而不是在網上加載這個文件,做法如下:

  技術分享圖片

技術分享圖片

Struts中的dtd文件地址:struts-2.3.15.3-all\src\core\src\main\resources

URL地址:

技術分享圖片

這樣設置好後,即使不聯網也能正常加載dtd文件了

Caused by: java.net.UnknownHostException: struts.apache.org