Linux で jetty-6.1.22 を使用して完全に動作する Web アプリが 1 つあります。ただし、Windowsで実行しようとすると、初期化時に例外がスローされます。
java.lang.IllegalArgumentException: name
at sun.misc.URLClassPath$Loader.findResource(Unknown Source)
at sun.misc.URLClassPath.findResource(Unknown Source)
at java.net.URLClassLoader$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findResource(Unknown Source)
at org.mortbay.jetty.webapp.WebAppClassLoader.getResource(WebAppClassLoader.java:271)
at org.mortbay.resource.Resource.newSystemResource(Resource.java:203)
at org.mortbay.jetty.webapp.WebXmlConfiguration.configureDefaults(WebXmlConfiguration.java:159)
at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1230)
WebAppClassLoader.javaのソース コードをチェックインすると、次のようになります。
String defaultsDescriptor=getWebAppContext().getDefaultsDescriptor();
if(defaultsDescriptor!=null&&defaultsDescriptor.length()>0)
{
Resource dftResource=Resource.newSystemResource(defaultsDescriptor);
if(dftResource==null)
dftResource=Resource.newResource(defaultsDescriptor);
configure(dftResource.getURL().toString());
_defaultWelcomeFileList=_welcomeFiles!=null;
}
例外は次の行で発生します: Resource.dftResource=Resource.newSystemResource(defaultsDescriptor); .
でも、私は分からない。Linux では動作するのに、Windows では動作しないのはなぜですか?