2011-07-29 15 views
9

ile dağıtma Uygulama kavanozumu JRE ile nasıl dağıtabilirim? Çalıştırılabilir jar'imi launch4j kullanarak exe'de yapıyorum.Uygulama jarmı JRE

Uygulamam masaüstü tabanlı bir salıncak uygulamasıdır. Kullanıcı, JRE'nin yüklü olmaması durumunda, gömülü JRE'yi kullanarak bunu kullanabileceği bir uygulama yapmak istiyorum. JRE'yi uygulamaya veriyorum ve kullanıyorum. Uygulamanın kaldırılması ve JRE oyunlar gibi kaldırılacaktır.

Önceden yüklenmiş JRE'yi uygulamamla birlikte verirsem bunun gerçekleşeceğini anlıyorum. Ayrıca JRE sekmesini launch4j'da görüyorum, ama hangi yolu vereceğimi anlamıyorum. This link de ben de görüyorum, ancak prosedürün tam olarak tanımlandığı yerlerde prosedür veya yardımcı bir bağlantı yoktur.

Lütfen kesin bir cevap verin. Cevabınız launch4j dayanarak tercih edeceğim.

cevap

5

Uygulamanızı nasıl dağıtıyorsunuz? Bir yükleyiciniz var mı? Eğer bir yükleyici var yaparsanız

, onunla herhangi jre paket ve kullanmak için launch4j yapılandırabilirsiniz.

Ben senin kullanım örneğini yeniden ne yaptı:

  1. bir dizin oluşturun, mesela C: \ temp jdk'imi C: \ Program Files \ Java \ jdk1.6.0_23 'den C: \ temp \ myownjdk1.6.0_23' e kopyalayın. JDK'mı kullanmak için
  2. launch4j'yi yapılandırın: JRE sekmesinde "myownjdk1.6.0 girin. _23" Sadece özel JDK çalıştırıcıları ' kullanmak
  3. Birlikte JRE yolu ve ben yapılandırılan' - bu gerçekten gerekli olup olmadığından emin değilim rağmen.

Bir JDK kullandım, ama eminim JRE ile de aynısını yapabilirsiniz. Ayrıca, paketiniz için göreli yolları kullanmanızın (veya yapabileceğimin) eminim (benim yaptığım gibi).

<launch4jConfig> 
    <dontWrapJar>false</dontWrapJar> 
    <headerType>gui</headerType> 
    <jar>C:\temp\demoapp.jar</jar> 
    <outfile>C:\temp\thing.exe</outfile> 
    <errTitle></errTitle> 
    <cmdLine></cmdLine> 
    <chdir></chdir> 
    <priority>normal</priority> 
    <downloadUrl>http://java.com/download</downloadUrl> 
    <supportUrl></supportUrl> 
    <customProcName>false</customProcName> 
    <stayAlive>false</stayAlive> 
    <manifest></manifest> 
    <icon></icon> 
    <jre> 
    <path>myownjdk1.6.0_23</path> 
    <minVersion></minVersion> 
    <maxVersion></maxVersion> 
    <jdkPreference>jdkOnly</jdkPreference> 
    </jre> 
</launch4jConfig> 
+0

Ben de aynı şeyi yaparım ve çalışıyor, ama eğer benim java (jre) dizini benim test.exe ile bağışlamıyorsam, jre'yi bulamayacağım gibi daha dinamik hale getirmek istiyorum Oyunun üzerine bir exe sahip olacağı anlamına gelir eğer jre ayıklayacak ve bazı dizin seçimi seçeneği verilecek ve kısayol seçeneği oluşturarak launch4j.Please cevabı kullanılarak mümkün olacaktır. – moin

+0

Peki, o zaman yükleyiciniz olmalı: kullanıcı paketinizi (yourapp.exe, yourapp.jar ve yourjdk-directory) kendi seçtiği bir dizine çıkarsın. Bu, JRE'yi yourapp.exe'ye göre koyar. Bunlardan biri yardımcı olabilir: http://java-source.net/open-source/installer-generators launch4j ne gerekiyorsa yapar, ancak tam bir dağıtım/yükleyici paketi değildir. – PhilW

+0

Evet gerçekten haklısın, eğer bana bir isim verebilirseniz, bu seçeneği launch4j'de veya diğer bir açık kaynak yükleyicide biliyorsanız bunu sormak istiyorum.Ayrıca, oyunumu oyun veya başka bir yazılımın olduğu yerde yapmak istiyorum. Bunu tıklarsanız, otomatik olarak tümünü çıkarır ve kullanabilir. – moin

2

daha iyi bir strateji uygulamasını başlatmak için geçerli:

Bu benim yapılandırma dosyasıdır. Java Web Start kullanıyor. Uygun bir minimum Java sürümü bulunduğundan emin olmak için deployJava.js kullanın. Kullanıcı zaten uygun bir JRE'ye sahip olabilir (bu nedenle indirmeye gerek yoktur) ve uygulamayı kaldırmayı seçtiğinde diğer Java uygulamaları ve uygulamaları için orada olacaktır.

Belirtilen gereksinimlerinize uymuyor, ancak genel olarak üstün bir seçenektir.

+0

Aşağı seçmen bu cevabın neden kabul edilemez olduğunu paylaşır mı? –

+0

+1 Mükemmel bir uyum olmasa bile, [tag: java-web-start] en azından dağıtım için düşünülmelidir. – trashgod

+0

Java webstart önceden gerektirir Java: Bu tavuk ve yumurta problemine benziyor ve verilen soru için uygun değil. – Panayotis

1

Ayrıca BitRock InstallBuilder da kontrol edebilirsiniz.

başta Java için çok iyi destek sağlar - hem de JRE kolay dahil yanı sıra varsa tespit ve fırlatıcı ikili yapı.

Daha fazla bilgiyi burada bulabilirsiniz: http://installbuilder.bitrock.com/docs/installbuilder-userguide/ar01s17.html#_bundling_a_jre

Ve Java bileşeni/JRE dosyaları: Yukarıdaki bağlantıdan dosyaları ile http://installbuilder.bitrock.com/java/

, bu projede bir kaç tanım kadar basittir ve yükleyici çalışacaktır.

Ücretsiz değil, ancak projeniz açık kaynak ise, uygulamanız için yükleyici oluşturmak için kullanabileceğiniz ücretsiz bir açık kaynaklı lisans başvurusunda bulunabilirsiniz.

Yasal Uyarı: BitRock InstallBuilder geliştiricilerinden biriyim, bu yüzden önyargılıyım.

0

Gerekli JRE'yi otomatik olarak indirmeye ve yüklemeye izin veren launch4j'in kendi sürümünü oluşturdum - gözetimsiz - (bu, yükleme için ilerlemeyi gösterir, henüz yükleme için hiçbir ilerleme yok ve JRE yükleyicisini diğer dizinden başka bir dizine indirecek seçenek yok yükleyici çalışma dizini - ilgilenirse bu işlevselliği ekleyebilirsiniz). Seçeneklerinizi ayarlamak için launch4j'nin "JRE" sekmesine gidin. Ayrıca, bu sadece GUI yüklemesi içindir ve şimdilik konsol için değil. Burada alabilirsiniz: https://github.com/maztan/launch4j_auto_jre_download

İlgili konular