I use org.apache.jasper.JspC to precompile my JSP files. I also use the signjar task to sign my JARs at the end of the build process (Some of them are served via Java Web Start). This all worked fine until I upgraded to Tomcat 5.5.20 (from 4.1.31).

If the signing task depends on the build step, the build part will run just fine (JSPs will be precompiled and everything else works) but the signjar task will fail with:

 [signjar] Signing JAR: C:\dev\eclipse\xxxx\lib\SqlServer.jar
[signjar] jarsigner: attempt to rename C:\dev\eclipse\xxxx\lib\SqlServer.jar to C:\dev\eclipse\xxxx\lib\SqlServer.jar.orig failed

(SqlServer.jar happens to be the first alphabetically of about a hundred JARs.)

If I make the signing task not depend on the build and run each independently (type "ant build", wait, and then type "ant sign") everything works just fine.

After looking at all the build files, I determined that the only thing of substance that has changed is the version of the org.apache.jasper.JspC that is being used in the Ant taskdef.

A few other notes, all of the JARs that are being signed are copied to that C:\dev\eclipse\xxxx\lib directory at the beginning of the build script. But, all of the JARs in that lib directory are placed on the classpath for the JspC task. My guess is that the new JspC is somehow holding on to its classpath entries differently than the old one did (although looking at the JspC code, I couldn't really convince myself that this was the case considering they both build up the classloader similarly).

Has anyone seen anything like this or have any ideas?

--Tom

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to