Sto usando form 1.8.0 e java 1.6.0.17 e sto correndo in uno strano problema.errore form Impossibile rinominare il vecchio file nel file temporaneo
Nel mio build.xml, ho un compito semplice che compila il codice
<javac destdir="${dir.build.classes}" debug="on">
<classpath refid="classpath"/>
<src path="${dir.src.java}"/>
</javac>
Nel "percorso di classe" è un vaso, lo chiamano library.jar
in un'attività successiva, ho bisogno di aggiungere un paio di classi per library.jar
, che mi piace questo
<jar destfile="library.jar" update="true" duplicate="fail">
<fileset dir="${dir.build.classes}">
<include name="some/class/files"/>
</fileset>
</jar>
Ciò con l'errore Unable to rename old file (library.jar) to temporary file
Mi sono bloccato in una chiamata a handle.exe prima e dopo la chiamata javac e posso confermare che il processo java che esegue formica un handle di file su library.jar durante la chiamata javac e non lo dà su. Ciò causa il mio tentativo successivo di aggiornare il vaso per fallire.
Perché dovrebbe mantenere un handle per il jar in un classpath aperto anche dopo il completamento dell'attività javac?
Puoi spiegare cosa si intende per "impostare in modo esplicito classpath del compito javac"? È un set di vasi piuttosto grande che viene usato in molti altri posti, quindi non è davvero un'opzione difficile da codificare, e non sono sicuro del perché farebbe la differenza. – karoberts