Sono in procinto di impacchettare la mia applicazione java in un file jar. Sto usando formica ed eclissi. Devo includere effettivamente nel jar un paio di file separati, non di codice (file xml e txt) direttamente nella cartella radice, non nella stessa posizione del codice.aggiunta di risorse non di codice al file jar utilizzando Ant
Sto cercando di usare includesfile, ma questo non sembra funzionare, qui è il mio obiettivo ant:
<target name="distribute" depends="compile" includesfile="readthis.txt">
<jar destfile="${distributionDir}/myjar.jar" >
<fileset dir="${outputDir}"/>
<fileset dir="${sourceDir}"/>
</jar>
</target>
È possibile che questo funziona bene quando ho omettere l'argomento includesfile. Inoltre, ho bisogno di aggiungere più file non di codice. Questi file si trovano direttamente nella cartella del progetto root in Eclipse e non all'interno di alcun pacchetto java.
Inoltre, come potete vedere sopra, in pratica sto includendo anche il codice sorgente del jar. C'è un modo per dire al task jar di inserire il codice sorgente in una cartella separata dal codice compilato?
Come attività di compilazione o di compilazione, Ant può facilmente separare il codice sorgente dalle classi compilate. Ma c'è un modo per farlo anche all'interno di un file jar?
Mille grazie per il vostro tempo!
Grazie! Questo sicuramente ha aiutato. Mi stavo chiedendo se posso anche dire al task jar di separare la sorgente dalle classi compilate? Al momento, sia l'origine che le classi si trovano nella stessa struttura del pacchetto, l'attività jar non dovrebbe conservare le cartelle di output e src? Significa che quando espongo il jar, vedo in myjar/code/my/package/file.java e file.class Ho pensato che l'attività jar potesse conservare le cartelle come: myjar/code/my/package /source/file.java - e separatamente myjar/code/my/package/build/file.class Mi manca qualcosa nell'utilizzo del task jar? – denchr
No, non sei corretto. Dovrebbero essere affiancati. Se il jar contiene una struttura di cartelle come code/my/package/build/file.class, ciò implicherebbe che il nome del pacchetto debba essere code.my.package.build. Potresti anche inserire i sorgenti in un secondo file JAR. –
Capisco cosa intendi. Tutto ciò che sto suggerendo potrebbe avere implicazioni sul nome del pacchetto ... Quindi, in generale, se voglio includere il sorgente nel mio file jar, * deve * essere nella stessa cartella della compilazione compilata. – denchr