I am getting the error:
[signjar] jarsigner: attempt to rename C:\workspace\line_editor\lib\icon.jar to C:\workspace\line_editor\lib\icon.jar.orig failed
when attempting to self sign a set of jars with ant inside Eclipse. The ant build has worked fine in this project and similar code in other projects. I made some small changes to code and tried to rebuild and keep getting this error.
Here is the related ant target:
<target name="sign" depends="jar" description="Signs Jars">
<genkey keystore="myKeystore1" alias="something" storepass="somethingpass"
dname="CN=Classification, OU=NAPA, O=GPC, C=US"/>
<signjar keystore="myKeystore1" alias="something" storepass="somethingpass">
<fileset file="${web.dir}/${jar.name}" />
<fileset dir="${lib.dir}">
<include name="*.jar"/>
</fileset>
</signjar>
</target>
I deleted the project and pulled it down again from our repository. So it has the same default project settings as other projects that this part does not fail. I looked at the .jar in question and it was not read-only. I changed the name and the next alphabetical .jar file also failed. There is no program running that is accessing the .jars in this folder.
Any suggestions as to cause?
One possibility is that the jar - which is in a 'lib' directory - is on a classpath in use during your build. Is ${lib.dir}
included on a classpath used in the buildfile?
You could create a separate directory to deposit signed jars to, and specify that to the 'signjar' task using the destdir attribute.