2010-04-14 11 views
0

J'ai une application web qui fonctionne parfaitement sous linux avec jetty-6.1.22. Cependant, quand j'ai essayé de l'exécuter sous Windows, il jette une exception à droite à l'initialisation:Quelqu'un at-il vu jetty s'est initialisé avec succès sous linux mais jette des exceptions sous 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) 

J'ai vérifié dans le code source de WebAppClassLoader.java, il ressemble à ceci:

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; 
} 

L'exception se produit sur cette ligne: Resource.dftResource = Resource.newSystemResource (defaultsDescriptor);.

Mais je ne comprends pas. Comment ça se passe sur Linux mais pas sur Windows?

Répondre

0

Il s'avère. La seule chose que vous avez à faire est de mettre l'extrait à "vrai".

<Call name="addLifeCycle"> 
    <Arg> 
    <New class="org.mortbay.jetty.deployer.WebAppDeployer"> 
     ... 
     <Set name="extract">true</Set> <-- here 
     ... 
    </New> 
    </Arg> 
</Call> 

ou

<Configure class="org.mortbay.jetty.webapp.WebAppContext"> 
    ... 
    <Set name="extractWAR">true</Set> <-- here 
    ... 
</Configure>