Ok questa è la soluzione che avrei voluto trovare, invece qui la scrivo:
Per prima cosa creare la struttura di directory corrispondente al pacchetto definito per il file .java, se è my.super.application creare la directory "my" e al suo interno "super" e al suo interno il file .java "App.java"
quindi dalla riga di comando:
javac -cp /path/to/lib1.jar:/path/to/lib2.jar path/to/my/super/App.java
Nota quanto sopra includerà più librerie, se sotto Windows usa "," per separare più file altrimenti sotto GNU / Linux usa ":" Per creare un file jar
jar -cvfe App.jar App my/app/
quanto sopra creerà l'applicazione con il suo Manifest corrispondente che indica l'App come classe principale.
Non è possibile includere le librerie richieste all'interno del file jar utilizzando i parametri della riga di comando java o jar.
Puoi invece:
- estrarre manualmente le librerie nella cartella principale del file jar
- usa un IDE come Netbeans e inserisci una regola nella sezione post-jar di nbproject / build-impl.xml per estrarre le librerie all'interno del jar. Vedi sotto.
<target name="-post-jar">
<!-- Empty placeholder for easier customization. -->
<!-- You can override this target in the ../build.xml file. -->
<jar jarfile="${dist.jar}" update="true">
<zipfileset src="${dist.jar}" includes="**/*.class" />
<zipfileset src="${file.reference.iText-1.0.8.jar}" includes="**/*"/>
<zipfileset src="${file.reference.itextpdf-3.2.1.jar}" includes="**/*"/>
</jar>
</target>
i nomi file.reference si trovano all'interno del file project.properties dopo aver aggiunto le librerie all'IDE Netbeans.