Java kaynak dosyam (* .java) veya sınıf dosyam (* .class) varsa, onu bir .exe dosyasına nasıl dönüştürebilirim?
Programım için bir yükleyiciye de ihtiyacım var.
Java kaynak dosyam (* .java) veya sınıf dosyam (* .class) varsa, onu bir .exe dosyasına nasıl dönüştürebilirim?
Programım için bir yükleyiciye de ihtiyacım var.
Yanıtlar:
Java Packager aracı, Java ve JavaFX uygulamalarını derler, paketler ve dağıtım için hazırlar. Javapackager komutu, komut satırı sürümüdür.
- Oracle'ın belgeleri
Yardımcı javapackager
program JDK ile birlikte gönderilir. -native exe
Diğer şeylerin yanı sıra bayraklı .exe dosyaları oluşturabilir .
WinRun4j, pencereler için bir java başlatıcısıdır. Javaw.exe'ye bir alternatiftir ve aşağıdaki yararları sağlar:
- Sınıfyolunu, ana sınıfı, vm argümanlarını, program argümanlarını belirtmek için bir INI dosyası kullanır.
- Görev yöneticisinde görünen özel yürütülebilir ad.
- Daha esnek bellek kullanımı için ek JVM değişkenleri.
- Özel simge için yerleşik simge ikame.
- [daha fazla mermi noktası takip ediyor]
- WinRun4J'nin web sayfası
WinRun4J açık kaynaklı bir yardımcı programdır. It has birçok özellik.
JAR, varlıklarınızı ve JVM'nizi Windows, Linux ve Mac OS X'te dağıtım için paketler ve yerel bir uygulama gibi görünmesi için yerel bir yürütülebilir dosya ekler. Packr, GUI uygulamaları için en uygundur.
- packr README
packr başka bir açık kaynak kodlu araçtır.
JSmooth bir Java Yürütülebilir Paketleyicisidir. Java uygulamalarınız için yerel Windows başlatıcıları (standart .exe) oluşturur. Java dağıtımını, yüklü herhangi bir Java VM'yi kendi başına bulabildiği için çok daha pürüzsüz ve kullanıcı dostu hale getirir.
- JSmooth web sitesi
JSmooth açık kaynaklıdır ve özellikleri vardır, ancak çok eskidir. Son sürüm 2007'de yapıldı.
JexePack , Java uygulamanızı (sınıf dosyaları), isteğe bağlı olarak kaynakları (GIF / JPG / TXT / vb.) İle birlikte tek bir sıkıştırılmış 32 bit Windows EXE'e paketlemenizi sağlayan bir komut satırı aracıdır (otomatik komut dosyası oluşturma için harika). Sun'ın Java Runtime Environment yazılımını kullanarak çalışır. Hem konsol hem de pencereli uygulamalar desteklenir.
- JexePack'in web sitesi
JexePack bir deneme yazılımıdır. Üretim kullanımı için ödeme yapılması gerekir ve bu araçla oluşturulan exe dosyaları ödeme yapmadan "hatırlatıcıları" görüntüler. Ayrıca, son sürüm 2013'te yapıldı.
InstallAnywhere, geliştiricilerin herhangi bir platform için profesyonel kurulum yazılımı oluşturmasını kolaylaştırır. InstallAnywhere ile sektör değişikliklerine hızlı bir şekilde adapte olacak, daha hızlı pazara girecek ve ilgi çekici bir müşteri deneyimi sunacaksınız. Ve göndermeden önce projenizin OSS bileşenlerinin güvenlik açığını öğrenin.
- InstallAnywhere web sitesi
InstallAnywhere, Java tabanlı programlar için yükleyiciler üreten ticari / kurumsal bir pakettir. Muhtemelen .exe dosyaları oluşturabilir.
.Exe dosyalarına alternatif olarak, JAR bildirimine bir giriş noktası ekleyerek çift tıklandığında otomatik olarak çalışan bir JAR dosyası oluşturabilirsiniz .
Bu konuda mükemmel bir bilgi kaynağı Excelsior'un " Java'yı EXE'e Dönüştür - Neden, Ne Zaman, Ne Zaman ve Nasıl Değil? " Başlıklı makalesidir .
Ayrıca " Ücretsiz ve Ticari EXE Dönüştürme Araçları, En İyi JAR " adlı makaleye bakın .
Launch4j, hafif Windows yerel yürütülebilir dosyalarında kavanoz olarak dağıtılan Java uygulamalarını sarmak için bir çapraz platform aracıdır. Yürütülebilir dosya belirli bir JRE sürümünü arayacak veya paketlenmiş bir sürüm kullanacak şekilde yapılandırılabilir ve ilk / maks yığın boyutu gibi çalışma zamanı seçeneklerini ayarlamak mümkündür. Sarıcı ayrıca bir uygulama simgesi, yerel bir JRE öncesi açılış ekranı, özel bir işlem adı ve uygun JRE'nin bulunamaması durumunda bir Java indirme sayfası aracılığıyla daha iyi kullanıcı deneyimi sağlar.
- Launch4j'nin web sitesi
GÜNCELLEME: GCJ öldü. 2016 yılında resmi olarak GCC projesinden çıkarıldı . Bundan önce bile, yedi yıl boyunca neredeyse terk edildi ve her durumda , uygulanabilir bir alternatif Java uygulaması olarak hizmet etmek için asla yeterince eksiksiz değildi .
Git başka bir Java AOT derleyicisi bulun.
GCJ: Java için GNU Derleyicisi, Java kaynak kodunu Windows yürütülebilir dosyaları da dahil olmak üzere yerel makine koduna derleyebilir.
Java'daki her şey GCJ altında, özellikle GUI bileşenlerinde desteklenmese de (bkz. Hangi Java API'leri desteklenir? SSS bölümünden ne kadar eksiksiz? Sorusu ). GCJ'yi çok kullanmadım, ancak konsol uygulamaları ile yaptığım sınırlı testlerden sonra, iyi görünüyor.
Bağımsız bir yürütülebilir dosya oluşturmak için GCJ kullanmanın bir dezavantajı, ortaya çıkan EXE'nin boyutunun oldukça büyük olabilmesidir. Bir keresinde GCJ'de önemsiz bir konsol uygulaması derledim ve sonuç yaklaşık 1 MB'lik bir yürütülebilir dosya oldu. (Bu konuda farkında olmadığım yollar olabilir. Başka bir seçenek yürütülebilir sıkıştırma programları olacaktır.)
Açık kaynaklı yükleyiciler açısından, Nullsoft Komut Dosyası Yükleme Sistemi bir komut dosyası yükleyicisidir. Merak ediyorsanız, JRE'nin varlığını nasıl tespit edeceğiniz ve gerekli JRE kurulu değilse otomatik olarak nasıl kuracağınız konusunda kullanıcı tarafından katkıda bulunan örnekler vardır . (Sadece size bildirmek için daha önce NSIS kullanmadım.)
Java uygulamalarını yüklemek için NSIS kullanma hakkında daha fazla bilgi için lütfen " Java uygulamalarını dağıtmanın en iyi yolu nedir? " Sorusuna verilen yanıtımı inceleyin .
Aşağıdaki kodla bir toplu iş dosyası yapabilirsiniz:
start javaw -jar JarFile.jar
ve herhangi bir .bat to .exe dönüştürücüsünü kullanarak .bat dosyasını bir .exe dosyasına dönüştürün.
Windows veya unix ortamları için yükleyiciler oluşturmak üzere Install4J kullanıyoruz .
Standart diyaloglarla yapılamayan özel eylemler için komut dosyaları yazmak istediğiniz noktaya kadar kolayca özelleştirilebilir. Ancak Windows hizmetleri kuruyor olsak da, yalnızca standart bileşenler kullanıyoruz.
Sanırım Launch4J aynı şirketten (sadece başlatıcı - yükleyici yok).
PS: ne yazık ki bu onay için ödeme almıyorum. Sadece bu aracı seviyorum.
En son Java Web Start , iyi çevrimdışı çalışmaya ve "yerel yüklemeye" izin verecek şekilde geliştirilmiştir. Bakmaya değer.
EDIT 2018: Java Web Start artık en yeni JDK'larla birlikte sunulmuyor. Oracle bunun yerine "uygulamanızı kapalı bir JRE ile yerel olarak dağıtma" modeline doğru ilerliyor.
Tüm uygulamanızı yerel koda, yani bir EXE artı DLL'e dönüştürmeniz gerekiyorsa, ExcelsiorJET var . İyi çalıştığını gördüm ve bir JRE'yi paketlemek için bir alternatif sağladım.
Launch4j bir java kaynak kodu (.java) .exe dosyasına dönüştürmek için en iyi araç olduğunu söyleyebilirim Hatta dağıtım için onunla bir jre paket olabilir ve exe bile simgelenebilir. Uygulamanın boyutu artmasına rağmen, kullanıcının yüklü bir jre olmasa bile uygulamanın mükemmel çalışmasını sağlar. Ayrıca, kullanıcı ayrı olarak yüklemek zorunda kalmadan uygulamanız için gereken özel jre'yi sağlayabilmenizi sağlar. Ama ne yazık ki, java önemini kaybediyor. Çoklu platform desteği tamamen yok sayılır ve son uygulama yalnızca pencereler için desteklenir. Sadece Windows kullanıcıları için yiyecek ve içecek, ancak bu büyük bir anlaşma değil.
Alternatif olarak, bazı java-c çevirmeni (ör. JCGO ) kullanabilir ve oluşturulan C dosyalarını hedef platform için yerel bir ikili (.exe) dosyaya derleyebilirsiniz.
Bir java programını bir .exe uygulamasına dönüştürmeye karşı affedilebilir ve nedenlerim var. Bunlardan en önemlisi, bir java programının çok sayıda IDE'den bir jar dosyasına derlenebileceğidir. Program .jar biçimindeyken, yalnızca çok sınırlı bir ortamda çalışacak olan .exe'in aksine Birden Çok Platformda çalışabilir. Java Programlarının çok gerekli olmadıkça Exe'ye dönüştürülmemesine dair bir fikirdeyim. Her zaman bir jar dosyası iken Java programını çalıştıran .bat dosyaları yazabilirsiniz.
exe dönüştürmek gerçekten gerekli ise, Jar2Exe dönüştürücü sessizce bunu yapar ve biri de Ana Uygulama ile birlikte derlenmiş Kütüphaneler ekleyebilirsiniz.
Jar2exe kullanarak jar'i exe'ye dönüştürebilirsiniz . Ancak yazılımı satın almanız gerekir. Açık kaynaklı bir yazılıma ihtiyacınız varsa JSmooth'u öneririm .