Ok ini adalah solusi yang ingin saya temukan, alih-alih di sini saya menulisnya:
Pertama buat struktur direktori yang sesuai dengan paket yang ditentukan untuk file .java, jika my.super.application buat direktori "my" dan di dalamnya "super" dan di dalamnya file .java "App.java"
lalu dari baris perintah:
javac -cp /path/to/lib1.jar:/path/to/lib2.jar path/to/my/super/App.java
Perhatikan di atas akan menyertakan beberapa perpustakaan, jika di bawah windows gunakan "," untuk memisahkan banyak file jika tidak di bawah GNU / Linux gunakan ":" Untuk membuat file jar
jar -cvfe App.jar App my/app/
di atas akan membuat aplikasi dengan Manifes yang sesuai yang menunjukkan Aplikasi sebagai kelas utama.
Menyertakan pustaka yang diperlukan di dalam file jar tidak dapat dilakukan menggunakan parameter baris perintah java atau jar.
Sebagai gantinya Anda dapat:
- ekstrak perpustakaan secara manual ke folder root dari file jar
- gunakan IDE seperti Netbeans dan masukkan aturan di dalam bagian post-jar dari nbproject / build-impl.xml untuk mengekstrak library di dalam jar. Lihat di bawah.
<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>
nama file.reference ditemukan di dalam file project.properties setelah Anda menambahkan pustaka ke Netbeans IDE.