struts Caused by:no protocol dtd-Class:java.net.URL


もっと読む
情景:
プロジェクトはstruts 2フレームを使ってtomcatに展開していますが、tomcatがあるマシンはネットワーク化されていません。
tomcat Unbale to load configration.-Class:java.net.SocketInputStream
strutsの設定ファイルは以下の通りです。

 
  

, http://struts.apache.org/dtds/struts-2.3.dtd dtd , , ( ) 。

 

, dtd , :


 
  

 

tomcat , :

Caused by: no protocol dtd - Class: java.net.URL

 

Unable to load configuration. - Class: java.net.URL
File: URL.java
Method: 
Line: 567 - java/net/URL.java:567:-1
	at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:69)
	at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:390)
	at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:437)
	at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:74)
	at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51)
	at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295)
	at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)
	at org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:115)
	at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3838)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4488)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
	at org.apache.catalina.core.StandardService.start(StandardService.java:516)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:593)
	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:597)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: Unable to load file:/D:/    /eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/endpoint/WEB-INF/classes/struts.xml - Class: java.net.URL
File: URL.java
Method: 
Line: 567 - java/net/URL.java:567:-1
	at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:954)
	at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadDocuments(XmlConfigurationProvider.java:163)
	at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.init(XmlConfigurationProvider.java:130)
	at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:209)
	at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66)
	... 22 more
Caused by: no protocol: ./com/a//endpoint/dtd/struts-2.3.dtd - Class: java.net.URL
File: URL.java
Method: 
Line: 567 - java/net/URL.java:567:-1
	at com.opensymphony.xwork2.util.DomHelper.parse(DomHelper.java:115)
	at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:949)
	... 26 more
Caused by: java.net.MalformedURLException: no protocol: ./com/a//endpoint/dtd/struts-2.3.dtd
	at java.net.URL.(URL.java:567)
	at java.net.URL.(URL.java:464)
	at java.net.URL.(URL.java:413)
	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 javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
	at com.opensymphony.xwork2.util.DomHelper.parse(DomHelper.java:113)
	... 27 more
 
インターネットでいろいろ べましたが、これはtomcatのbugです。
するシーン:
 
(1)   tomcatのインストールリストに の があります。
struts.xmlでは、ネットワーク のdtdファイルを していません。ローカルのdtdファイルを しています。
 
の :tomcatインストールディレクトリに の があります。
 
:tomcatのインストールディレクトリを の がないパスにコピーします。
 
  :その 、 はeclipseを ってプロジェクトを しました。 じエラーを しました。 のeclipseのワークスペースは:
D:\ \eclipse\workspace
のeclipseの のパスには の が まれています。
エラーメッセージ:
Caused by:Unbale to load file:/D:/ /eclipse/workspace/metadata/plugins/org.eclipse.server.com/tmp 0/wtpwebapps/endpoint/WEB-INF/clases/struts/xml-Class.jass.URL
File:URL.java
Method:
Line:567-java/net/URL.java:567:-1
 
つまり、eclipseはプロジェクトを しました。 D:/ /eclipse/workspace/metadata/
:eclipseの を します。