hack sederhana untuk applet: tulis kode C dengan main dan panggilan ke fungsi "system" like system ("appletviewer java_src_file");
Madhusoodan P
1
Akankah .exe bekerja di sistem windows tanpa JRE?
Arpit Agarwal
Hanya untuk melengkapi (tidak mencobanya sendiri karena kami membutuhkan exe wrapper, bukan installer): Paket installer juga dapat dibuat menggunakan javapackager (lihat docs.oracle.com/javase/8/docs/technotes/guides/deploy/… ) . Untuk membuat pemasang EXE atau MSI, tambahan Inno Setup atau WiX perlu diunduh dan diinstal.
Alat Java Packager mengkompilasi, mengemas, dan menyiapkan aplikasi Java dan JavaFX untuk distribusi. Perintah javapackager adalah versi baris perintah.
- Dokumentasi Oracle
The javapackagerkapal utilitas dengan JDK. Itu dapat menghasilkan file .exe dengan -native exebendera, di antara banyak hal lainnya.
Paket JAR Anda, aset dan JVM untuk distribusi di Windows, Linux dan Mac OS X, menambahkan file yang dapat dieksekusi asli untuk membuatnya tampak seperti aplikasi asli. Packr paling cocok untuk aplikasi GUI.
JSmooth adalah Java Executable Wrapper. Ini menciptakan peluncur Windows asli (standar .exe) untuk aplikasi java Anda. Itu membuat penyebaran java jauh lebih halus dan ramah pengguna, karena ia dapat menemukan Java VM yang terinstal dengan sendirinya.
- Situs web JSmooth
JSmooth adalah open source dan memiliki fitur, tetapi sudah sangat tua. Rilis terakhir adalah pada tahun 2007.
JexePack adalah alat baris perintah (bagus untuk skrip otomatis) yang memungkinkan Anda untuk mengemas aplikasi Java Anda (file kelas), opsional bersama dengan sumber dayanya (seperti GIF / JPG / TXT / dll), ke dalam satu-satunya Windows EXE 32-bit terkompresi. , yang berjalan menggunakan Java Runtime Environment Sun. Aplikasi konsol dan jendela didukung.
- Situs web JexePack
JexePack adalah perangkat uji coba. Diperlukan pembayaran untuk penggunaan produksi, dan file exe yang dibuat dengan alat ini akan menampilkan "pengingat" tanpa pembayaran. Juga, rilis terakhir adalah pada tahun 2013.
InstallAnywhere memudahkan pengembang untuk membuat perangkat lunak instalasi profesional untuk platform apa pun. Dengan InstallAnywhere, Anda akan beradaptasi dengan perubahan industri dengan cepat, mendapatkan pasar lebih cepat dan memberikan pengalaman pelanggan yang menarik. Dan ketahui kerentanan komponen OSS proyek Anda sebelum mengirim.
- Situs web InstallAnywhere
InstallAnywhere adalah paket komersial / perusahaan yang menghasilkan installer untuk program berbasis Java. Mungkin mampu membuat file .exe.
File JAR yang dapat dieksekusi
Sebagai alternatif untuk file .exe, Anda dapat membuat file JAR yang secara otomatis berjalan ketika diklik ganda, dengan menambahkan titik entri ke manifes JAR .
Launch4j adalah alat lintas platform untuk membungkus aplikasi Java yang didistribusikan sebagai toples di executable asli Windows yang ringan. Dapat dieksekusi dapat dikonfigurasi untuk mencari versi JRE tertentu atau menggunakan yang dibundel, dan dimungkinkan untuk mengatur opsi runtime, seperti ukuran heap awal / maks. Wrapper juga memberikan pengalaman pengguna yang lebih baik melalui ikon aplikasi, layar splash pra-JRE asli, nama proses kustom, dan halaman unduhan Java jika JRE yang sesuai tidak dapat ditemukan.
PEMBARUAN: GCJ sudah mati. Secara resmi dihapus dari proyek GCC pada 2016. Bahkan sebelum itu, praktis ditinggalkan selama tujuh tahun, dan dalam hal apapun itu tidak pernah cukup lengkap untuk berfungsi sebagai alternatif implementasi Java yang layak.
Cari kompiler Java AOT lain.
GCJ: Kompilator GNU untuk Java dapat mengkompilasi kode sumber Java ke dalam kode mesin asli, termasuk Windows yang dapat dieksekusi.
Meskipun tidak semua yang ada di Java didukung di bawah GCJ, terutama komponen GUI (lihat
Apa Java API yang didukung? Seberapa lengkap dukungannya? Pertanyaan dari FAQ ). Saya belum banyak menggunakan GCJ, tetapi dari pengujian terbatas yang saya lakukan dengan aplikasi konsol, sepertinya baik-baik saja.
Salah satu kelemahan menggunakan GCJ untuk membuat executable mandiri adalah bahwa ukuran EXE yang dihasilkan bisa sangat besar. Suatu kali saya menyusun aplikasi konsol sepele di GCJ dan hasilnya adalah executable sekitar 1 MB. (Mungkin ada cara di sekitar ini yang saya tidak sadari. Pilihan lain adalah program kompresi yang dapat dieksekusi.)
Dalam hal penginstal sumber terbuka, Sistem Instalasi Nullsoft Scriptable adalah penginstal skrip. Jika Anda penasaran, ada contoh kontribusi pengguna tentang cara mendeteksi keberadaan JRE dan menginstalnya secara otomatis jika JRE yang diperlukan tidak diinstal. (Hanya untuk memberi tahu Anda, saya belum pernah menggunakan NSIS sebelumnya.)
Pembungkus yang baik membawa JRE atau menginstalnya jika diperlukan dan menangani situasi kesalahan.
Thorbjørn Ravn Andersen
16
Kami menggunakan Install4J untuk membangun installer untuk windows atau unix environment.
Mudah disesuaikan sampai pada titik di mana Anda ingin menulis skrip untuk tindakan khusus yang tidak dapat dilakukan dengan dialog standar. Tetapi meskipun kami menyiapkan layanan windows dengan itu, kami hanya menggunakan komponen standar.
installer + launcher
windows atau unix
skrip di Jawa
tugas semut
banyak panel dan tindakan standar yang dapat disesuaikan
opsional termasuk atau mengunduh JRE
juga dapat meluncurkan layanan windows
berbagai bahasa
Saya pikir Launch4J berasal dari perusahaan yang sama (hanya peluncur - tanpa penginstal).
PS: sayangnya saya tidak dibayar untuk pengesahan ini. Saya suka alat itu.
Java Web Start terbaru telah ditingkatkan untuk memungkinkan operasi offline yang baik serta memungkinkan "instalasi lokal". Perlu melihat ke dalam.
EDIT 2018: Java Web Start tidak lagi dibundel dengan JDK terbaru. Oracle malah mendorong ke arah "sebarkan aplikasi Anda secara lokal dengan JRE terlampir" sebagai gantinya.
Tampaknya JWS telah memperketat keamanan, sehingga membutuhkan lebih banyak upaya dari sebelumnya untuk bisa berjalan. Ini mungkin masih berguna untuk installer.
Thorbjørn Ravn Andersen
9
Jika Anda perlu mengonversi seluruh aplikasi Anda ke kode asli, yaitu EXE plus DLL, ada ExcelsiorJET . Saya menemukan ini bekerja dengan baik dan memberikan alternatif untuk menggabungkan JRE.
Saya akan mengatakan launch4j adalah alat terbaik untuk mengubah kode sumber java (.java) menjadi file .exe. Anda bahkan dapat menggabungkan jre dengannya untuk didistribusikan dan exe tersebut bahkan dapat di-ikonifikasi. Meskipun ukuran aplikasi meningkat, itu memastikan bahwa aplikasi akan berfungsi dengan baik bahkan jika pengguna tidak memiliki jre diinstal. Ini juga memastikan bahwa Anda dapat memberikan jre spesifik yang diperlukan untuk aplikasi Anda tanpa pengguna harus menginstalnya secara terpisah. Namun sayangnya, java kehilangan arti pentingnya. Dukungan multi platformnya sama sekali diabaikan dan aplikasi terakhir hanya didukung untuk windows. Tapi itu bukan masalah besar, jika Anda hanya melayani pengguna windows.
Atau, Anda dapat menggunakan beberapa penerjemah java-ke-c (misalnya, JCGO ) dan mengkompilasi file C yang dihasilkan ke file binary (.exe) asli untuk platform target.
Saya sangat meragukan efektivitas metode ini. Saya harus melihatnya untuk mempercayainya (pikirkan fakta bahwa sebagian besar kode Java adalah panggilan API ke JRE, dan semua itu tidak ada pada C, jangan pernah lupakan perbedaan dalam bagaimana bahasa bekerja).
Camilo Martin
3
Saya dapat dimaafkan karena menentang konversi program java ke Aplikasi .exe dan saya punya alasan. yang utama adalah bahwa program java dapat dikompilasi ke file jar dari Banyak IDE. Ketika program ini dalam format .jar, ia dapat berjalan di Beberapa Platform sebagai lawan dari .exe yang hanya akan berjalan di Lingkungan yang sangat terbatas. Saya berpendapat bahwa Program Java tidak akan dikonversi ke Exe kecuali sangat diperlukan. Seseorang selalu dapat menulis file .bat yang menjalankan program Java saat itu adalah file jar.
jika benar-benar perlu untuk mengubahnya menjadi exe, konverter Jar2Exe diam-diam melakukan itu dan orang juga dapat melampirkan Perpustakaan yang dikompilasi bersama dengan Aplikasi Utama.
Masalahnya, kekuatan java adalah portabilitas, tetapi banyak orang hanya membutuhkan windows exe dasar. Secara pribadi, saya suka konsep java ... tetapi ingin mendistribusikan sesuatu yang dapat dijalankan oleh pengguna saya, tanpa harus mengunduh JRE.
Balmipour
2
Anda dapat mengonversi jar ke exe menggunakan jar2exe . Namun Anda perlu membeli perangkat lunak. Jika Anda memerlukan perangkat lunak open source saya sarankan JSmooth .
Jawaban:
javapackager
The
javapackager
kapal utilitas dengan JDK. Itu dapat menghasilkan file .exe dengan-native exe
bendera, di antara banyak hal lainnya.WinRun4J
WinRun4J adalah utilitas open source. Ini memiliki banyak fitur.
paket
packr adalah alat open source lain.
JSmooth
JSmooth adalah open source dan memiliki fitur, tetapi sudah sangat tua. Rilis terakhir adalah pada tahun 2007.
JexePack
JexePack adalah perangkat uji coba. Diperlukan pembayaran untuk penggunaan produksi, dan file exe yang dibuat dengan alat ini akan menampilkan "pengingat" tanpa pembayaran. Juga, rilis terakhir adalah pada tahun 2013.
Instal Di Mana Saja
InstallAnywhere adalah paket komersial / perusahaan yang menghasilkan installer untuk program berbasis Java. Mungkin mampu membuat file .exe.
File JAR yang dapat dieksekusi
Sebagai alternatif untuk file .exe, Anda dapat membuat file JAR yang secara otomatis berjalan ketika diklik ganda, dengan menambahkan titik entri ke manifes JAR .
Untuk informasi lebih lanjut
Sumber informasi yang sangat baik tentang topik ini adalah artikel Excelsior " Konversi Java ke EXE - Mengapa, Kapan, Kapan Tidak dan Bagaimana ".
Lihat juga artikel pendamping " JAR Terbaik untuk Alat Konversi EXE, Gratis dan Komersial ".
sumber
Launch4j
sumber
GCJ: Kompilator GNU untuk Java dapat mengkompilasi kode sumber Java ke dalam kode mesin asli, termasuk Windows yang dapat dieksekusi.
Meskipun tidak semua yang ada di Java didukung di bawah GCJ, terutama komponen GUI (lihat Apa Java API yang didukung? Seberapa lengkap dukungannya? Pertanyaan dari FAQ ). Saya belum banyak menggunakan GCJ, tetapi dari pengujian terbatas yang saya lakukan dengan aplikasi konsol, sepertinya baik-baik saja.
Salah satu kelemahan menggunakan GCJ untuk membuat executable mandiri adalah bahwa ukuran EXE yang dihasilkan bisa sangat besar. Suatu kali saya menyusun aplikasi konsol sepele di GCJ dan hasilnya adalah executable sekitar 1 MB. (Mungkin ada cara di sekitar ini yang saya tidak sadari. Pilihan lain adalah program kompresi yang dapat dieksekusi.)
Dalam hal penginstal sumber terbuka, Sistem Instalasi Nullsoft Scriptable adalah penginstal skrip. Jika Anda penasaran, ada contoh kontribusi pengguna tentang cara mendeteksi keberadaan JRE dan menginstalnya secara otomatis jika JRE yang diperlukan tidak diinstal. (Hanya untuk memberi tahu Anda, saya belum pernah menggunakan NSIS sebelumnya.)
Untuk informasi lebih lanjut tentang penggunaan NSIS untuk menginstal aplikasi Java, silakan lihat respons saya untuk pertanyaan " Apa cara terbaik untuk mendistribusikan aplikasi Java? "
sumber
Anda bisa membuat file batch dengan kode berikut:
dan konversikan .bat menjadi .exe menggunakan konverter .bat ke .exe.
sumber
Kami menggunakan Install4J untuk membangun installer untuk windows atau unix environment.
Mudah disesuaikan sampai pada titik di mana Anda ingin menulis skrip untuk tindakan khusus yang tidak dapat dilakukan dengan dialog standar. Tetapi meskipun kami menyiapkan layanan windows dengan itu, kami hanya menggunakan komponen standar.
Saya pikir Launch4J berasal dari perusahaan yang sama (hanya peluncur - tanpa penginstal).
PS: sayangnya saya tidak dibayar untuk pengesahan ini. Saya suka alat itu.
sumber
Java Web Start terbaru telah ditingkatkan untuk memungkinkan operasi offline yang baik serta memungkinkan "instalasi lokal". Perlu melihat ke dalam.
EDIT 2018: Java Web Start tidak lagi dibundel dengan JDK terbaru. Oracle malah mendorong ke arah "sebarkan aplikasi Anda secara lokal dengan JRE terlampir" sebagai gantinya.
sumber
Jika Anda perlu mengonversi seluruh aplikasi Anda ke kode asli, yaitu EXE plus DLL, ada ExcelsiorJET . Saya menemukan ini bekerja dengan baik dan memberikan alternatif untuk menggabungkan JRE.
sumber
IMHO JSmooth tampaknya melakukan pekerjaan yang cukup bagus.
sumber
Saya akan mengatakan launch4j adalah alat terbaik untuk mengubah kode sumber java (.java) menjadi file .exe. Anda bahkan dapat menggabungkan jre dengannya untuk didistribusikan dan exe tersebut bahkan dapat di-ikonifikasi. Meskipun ukuran aplikasi meningkat, itu memastikan bahwa aplikasi akan berfungsi dengan baik bahkan jika pengguna tidak memiliki jre diinstal. Ini juga memastikan bahwa Anda dapat memberikan jre spesifik yang diperlukan untuk aplikasi Anda tanpa pengguna harus menginstalnya secara terpisah. Namun sayangnya, java kehilangan arti pentingnya. Dukungan multi platformnya sama sekali diabaikan dan aplikasi terakhir hanya didukung untuk windows. Tapi itu bukan masalah besar, jika Anda hanya melayani pengguna windows.
sumber
Anda bisa menggunakan Janel . Yang terakhir ini berfungsi sebagai peluncur aplikasi atau peluncur layanan (tersedia dari 4.x).
sumber
Atau, Anda dapat menggunakan beberapa penerjemah java-ke-c (misalnya, JCGO ) dan mengkompilasi file C yang dihasilkan ke file binary (.exe) asli untuk platform target.
sumber
Saya dapat dimaafkan karena menentang konversi program java ke Aplikasi .exe dan saya punya alasan. yang utama adalah bahwa program java dapat dikompilasi ke file jar dari Banyak IDE. Ketika program ini dalam format .jar, ia dapat berjalan di Beberapa Platform sebagai lawan dari .exe yang hanya akan berjalan di Lingkungan yang sangat terbatas. Saya berpendapat bahwa Program Java tidak akan dikonversi ke Exe kecuali sangat diperlukan. Seseorang selalu dapat menulis file .bat yang menjalankan program Java saat itu adalah file jar.
jika benar-benar perlu untuk mengubahnya menjadi exe, konverter Jar2Exe diam-diam melakukan itu dan orang juga dapat melampirkan Perpustakaan yang dikompilasi bersama dengan Aplikasi Utama.
sumber
Anda dapat mengonversi jar ke exe menggunakan jar2exe . Namun Anda perlu membeli perangkat lunak. Jika Anda memerlukan perangkat lunak open source saya sarankan JSmooth .
sumber