I was writing a simple program using a Java application (not application that has projects, but application within a project; .java) that has a single frame. Both of the files are .java so I can't write a manifest needed by the JAR.
The MyApp.java starts like a class with package, imports then public class MyApp
and has a main function, but it's still .java file! I'm writing it in JDeveloper 11g if it helps.
Any ideas how to make a JAR from these files?
Jawaban:
Open a command prompt.
Go to the directory where you have your .java files
Create a directory build
Run java compilation from the command line
if there are no errors, in the build directory you should have your class tree
move to the build directory and do a
For adding manifest check jar command line switches
sumber
jar cfe Main.jar Main *
(I've got confused though, I've had to put the Main-Class name after the output file name.)Simply with command line:
Sure IDEs avoid using command line terminal
sumber
.class
myApp. Jadi itujar -cf myJar.jar myApp.class
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
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:
nama file.reference ditemukan di dalam file project.properties setelah Anda menambahkan pustaka ke Netbeans IDE.
sumber
Seringkali Anda ingin menentukan manifes, seperti:
Yang berbunyi: "buat verbose jarFilename manifestFilename", diikuti dengan file yang ingin Anda sertakan. Verbose berarti mencetak pesan tentang apa yang dilakukannya.
Perhatikan bahwa nama file manifes yang Anda berikan bisa apa saja, karena
jar
akan secara otomatis mengganti namanya dan meletakkannya di direktori yang benar di dalam file jar.sumber
Ini dapat dilakukan tanpa terminal, langsung dari IDE. Netbeans, misalnya.
sumber
Berikut cara hebat lain untuk melakukan ini:
Yang akan mengambil semua file .java (
ls | grep .java
) dari direktori Anda saat ini dan mengkompilasinya ke dalam .class (xargs -I {} javac {}
) dan kemudian membuat file jar dari class yang telah dikompilasi sebelumnya (jar -cf myJar.jar *.class
).sumber
Mungkin cara yang paling ramah bagi pemula untuk mengkompilasi JAR dari kode Java Anda adalah dengan menggunakan IDE (lingkungan pengembangan terintegrasi; pada dasarnya hanya perangkat lunak yang ramah pengguna untuk pengembangan) seperti Netbeans atau Eclipse.
Anda selalu dapat melakukan ini semua dengan sangat mudah dengan baris perintah. Pastikan Anda berada di direktori yang sama dengan file yang ditargetkan sebelum menjalankan perintah seperti ini:
... mengubah "YourApp" dan "YourJar" menjadi nama file Anda.
sumber