1
votes

Jetty cannot unzip my Wicket application war and extract to the temp directory. It is able to unzip the example wars without issue. I have two identical installations on 64 bit linux (Centos) using Jetty 6.1.16 and 64 bit java 1.6. One works and one is unable to unjar/zip the war and deploy it. I compile using 1.5 compatibility. I use maven to generate the war file. If I deploy the .war I get a general error - cannot unzip. If I unwar the web app to a file system and deploy that to Jetty it works fine.

To make sure it isn't a permissions problem I ran it as root but saw no difference no difference.

I actually get NoClassDefFound errors when deplopying as war to be extracted.

I can ask Jetty not to extract the war, but when I do I get another error ...

org.apache.wicket.WicketRuntimeException: Unable to load initializers file

Caused by: java.util.zip.ZipException: error in opening zip file

The deployment directory is listed in the output, but when I look in it, it is empty. Odd thing is the example war that comes with Jetty extracts and runs just fine without error, so it seems to be something about the way the war file is being created on my end (war created using eclipse/maven on 32 bit Vista). But again, it works fine on another virtually identical server wich makes that unlikely.

Was hopeing someone had a ready answer before I tear it all down and reinstall everything :-).

1

1 Answers

0
votes

Sounds like an issue with file system permissions. Did you make sure that the user under which you run Jetty has write permissions to the directory where the war is supposedly to be extracted to?

The algorithm by which Jetty determines where to unzip a web application can potentially choose a bunch of directories. You should probably also sanity-check the variables that play a role in this algorithm and make sure that the user running Jetty has sufficient read/write permissions on these directories.