2011-07-29 4 views
9

JRE와 함께 응용 프로그램 jar를 배포하려면 어떻게합니까? launch4j을 사용하여 exe에서 실행 가능한 jar 파일을 만듭니다.내 응용 프로그램 jar를 JRE와 함께 배포하십시오.

내 응용 프로그램은 바탕 화면 기반 스윙 응용 프로그램입니다. 사용자에게 JRE가 설치되어 있지 않은 경우 임베디드 JRE를 사용하여이를 사용할 수있는 응용 프로그램과 같이 만들고 싶습니다. JRE에 응용 프로그램을 제공하고 사용합니다. 응용 프로그램과 JRE의 제거는 게임과 마찬가지로 제거됩니다.

사전 설치된 JRE에 내 애플리케이션을 제공하면 문제가 발생한다는 것을 알고 있습니다. 나는 또한 launch4j에 탭 JRE를 볼 수 있지만 어떤 경로를 줄 것인지 이해하지 못합니다. This 링크 나는 또한 볼 수 있지만 절차가 없거나 총 절차가 명확하게 정의 된 곳에서 유용한 링크가 제공됩니다.

확실한 답변을주십시오. 귀하의 답변이 launch4j을 기준으로하는 경우 선호합니다.

답변

5

신청서를 어떻게 배포합니까? 설치 프로그램이 있습니까?

설치 프로그램이있는 경우 jre를 번들로 사용하고 launch4j를 사용하도록 구성 할 수 있습니다.

나는 당신의 유스 케이스 다시 무슨 짓을 :

  1. 디렉토리를 만들고, 예를 C : \ Program Files \ Java \ jdk1.6.0_23에서 내 jdk를 C : \ temp \ myownjdk1.6.0_23으로 복사하십시오.
  2. launch4j를 사용하여 JDK를 사용하십시오. JRE 탭에 "myownjdk1.6.0 _23 "as
  3. 번들로 제공되는 JRE 경로와"전용 JDK 런타임 만 사용 " - 정말 필요한지 잘 모르겠지만 구성되었습니다.

저는 JDK를 사용했지만, JRE를 사용하여 동일한 작업을 수행 할 수 있습니다. 또한, 필자는 (내가 한 것처럼) 번들에 상대 경로를 사용해야한다는 것을 확신합니다.

<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

나는 똑같은 일을하고 있지만, donot 내 test.exe와 내 자바 (jre) 디렉토리를주지 않으면 그것은 jre 내가 더 역동적으로 만들고 싶지 않습니다 게임은 jre를 추출하고 일부 디렉토리에 옵션을 선택하고 바로 가기 옵션을 만들 때 launch4j를 사용하여 가능할 경우 하나의 exe를 가질 것임을 의미합니다. 응답하십시오. – moin

+0

다음은 설치 프로그램이어야합니다. 사용자가 패키지 (yourapp.exe, yourapp.jar 및 yourjdk-directory)를 원하는 디렉토리로 추출 할 수있게하십시오. 이렇게하면 JRE가 yourapp.exe와 관련됩니다. 다음 중 하나가 도움이 될 수 있습니다. http://java-source.net/open-source/installer-generators launch4j는 필요한 작업을 수행하지만 전체 배포/설치 프로그램 패키지는 아닙니다. – PhilW

+0

예. 당신이 맞습니다. 사실 launch4j 나 다른 오픈 소스 설치 프로그램에서이 옵션을 알고 있다면 name.Actually 게임이나 다른 소프트웨어와 같은 응용 프로그램을 만들고 싶습니다. 이것을 클릭하면 자동으로 모두 추출되어 사용할 수 있습니다. – moin

2

더 나은 전략은 응용 프로그램을 실행하는 것입니다

이 내 구성 파일입니다. Java Web Start을 사용하십시오. 적합한 최소 버전의 Java가 사용 가능한지 확인하려면 deployJava.js을 사용하십시오. 사용자는 이미 적절한 JRE를 설치 했으므로 (다운로드 할 필요가 없음) 다른 Java 응용 프로그램 및 애플릿을 제거한 후에도이를 제거 할 수 있습니다.

이것은 명시된 요구 사항 중 일부에 맞지 않지만 전반적으로 더 우수한 옵션입니다.

+0

유권자는 왜이 답변을 받아 들일 수 없었는지 공유해 주시겠습니까? –

+0

+1 완벽한 적합성이 아니더라도 배치를 위해서는 [tag : java-web-start]를 고려해야합니다. – trashgod

+0

Java webstart는 Java가 사전 필요합니다. 이것은 닭고기 및 계란 문제와 유사하며 주어진 질문에 적합하지 않습니다. – Panayotis

1

BitRock InstallBuilder을 확인할 수도 있습니다.

우리는 JRE를 쉽게 포함 할 수 있고 실행기 바이너리를 구축 할 수있을뿐만 아니라 존재하는 경우이를 감지 할뿐만 아니라 Java를 매우 잘 지원합니다.

당신은 여기서 더 많은 정보를 찾을 수 있습니다 : http://installbuilder.bitrock.com/docs/installbuilder-userguide/ar01s17.html#_bundling_a_jre

그리고 Java 구성 요소/JRE 파일 : 위의 링크에서 파일로 http://installbuilder.bitrock.com/java/

을,이 프로젝트에 몇 가지 변수를 설정하는 것만 큼 간단하고 설치 프로그램이 작동합니다.

무료는 아니지만 프로젝트가 오픈 소스 인 경우 응용 프로그램의 설치 프로그램을 만드는 데 사용할 수있는 무료 오픈 소스 라이센스를 신청할 수 있습니다.

면책 조항 : 저는 BitRock InstallBuilder 개발자 중 한 명으로 편견을 갖고 있습니다.

0

필수 JRE를 자동으로 다운로드 및 설치하는 자체 버전을 만들었습니다 - 무인 설치 - 다운로드 진행률, 아직 설치 진행 없음, JRE 설치 프로그램을 다른 디렉토리에 다운로드하는 옵션 없음 installer의 작업 디렉토리 - 누군가가 관심이 있다면이 기능을 추가 할 수 있습니다.) launch4j의 "JRE"탭으로 이동하여 옵션을 설정하십시오. 또한 이것은 GUI 설치에만 사용되며 현재는 콘솔 용이 아닙니다. 여기에 당신이 그것을 얻을 수 있습니다 : https://github.com/maztan/launch4j_auto_jre_download

관련 문제