2015-02-03 8 views
5

Müşteriye bir yürütülebilir jar dosyası gönderiyorum, Müşteri JRE 5, JRE 6 ve JRE 7'yi kutuya yükledi. Jar'ım JRE 7'yi çalıştırmak için gerekliydi. Sistemi değiştirmeden PATH (Ortam var) Kullanılacak JRE 7'yi nasıl belirleyebilirim?JRE'yi yürütülebilir bir jar çalıştırmak için nasıl belirtir

+0

Dize sürümü = System.getProperty ("java.version"); if (! Version.StartsWith ("1.7")) {// java'yı karşıdan yükleme sayfasını açın} – Anirudha

+0

teşekkürler ama bu şart değil – user1493834

+1

Yukarıdaki ** cevap ** sadece sürümü kontrol etmek ve sadece devam etmek için 1.7 ile başlayan belirli bir Java sürümünü kullanmanız için sizi kilitler ve bu nedenle kesinlikle yanlıştır. –

cevap

5

Örneğin, kullanıcıların ihtiyaç JRE tam yolunu belirtebilirsiniz:

/path/to/jre/bin/java.exe -jar executable.jar 

veya

/path/to/jre/bin/javaw.exe -jar executable.jar 

Eğer bir kabuk (script) Bu çalıştırırsanız

o zaman olduğunu Uygulamanın çalıştırılmasından önce ilk önce JAVA_HOME ortam değişkenini doğru konuma ( /path/to/jre) ayarlayın. İlk olarak JAVA_HOME öğesini ayarlayabilir/dışa aktarabilir ve ardından Java yürütülebilir dosyasının bulunduğu yere genişletebilirsiniz (ör. Windows'ta %JAVA_HOME%\bin\java.exe). Daha fazla bilgi için here.

+0

Bunun çok tehlikeli bir yol olduğuna dikkat edin. Genellikle bir çalışma zamanının en son sürümü jre7 veya jre8'dir. Bu, yerinde bir kurulum olduğu için güncellemeleri alacaktır (Oracle'ın dediği gibi). Statik bir çalışma zamanına işaret ediyorsanız veya konum artık (güvenlik) güncellemelerini almazsa, sorun yaşayabilirsiniz. –

2

Bunu başarmak için platformlar arası bir yol olduğundan emin değilim.

Windows'da, uygun bir JRE seçebilmeniz için launch4j gibi bir aracı .exe olarak kullanabilirsiniz.

Mac OS X'te, paralel olarak yüklenmiş birkaç farklı JDK'niz olabilir, ancak yalnızca bir tane genel JRE (yüklü JDK'ların en son sürümü olacak ve otomatik olarak güncelleştirildiyse daha yeni olabilir). Uygulama grupları için ve bulucudaki bir JAR'yi çift tıkladığında kullanılan genel JRE.

+0

Genellikle bu tür başlatıcılar, kullanmak için en iyi JRE'yi bulmak için belirli yöntemlere sahiptir. Bu cevap, sanal makine çalıştırıcısını (ör. "Java.exe") doğrudan belirlemek için daha esnek ve muhtemelen daha güvenli olduğu için tercih edilmelidir. Ancak, çalışma zamanınıza başka bir bileşen ekler. –

0

Bunu yapmanın en kolay yolu, programınızı başlatmak için Java WebStart'ı kullanmak ve sonra da uygun bir şekilde yeni bir Java sürümüne ihtiyacınız olduğunu belirtmektir. Başlatıcı, sisteminizde kullanmak için uygun bir dağıtım bulacaktır.

Java'ları kullanmak, yeni güncellemeleri kullanıcılarınıza kolayca dağıtmanızı sağlar.

Uyarı: Önbelleğe alma, yıllar içinde bir sorun oldu. Bir kavanoz içerik değiştirdiğinde, URL’nin de değişeceğinden emin olun.

İlgili konular