Java 프로그램을 .exe 파일로 변환하려면 어떻게해야합니까? [닫은]


500

Java 소스 파일 (* .java) 또는 클래스 파일 (* .class)이있는 경우 어떻게 .exe 파일로 변환 할 수 있습니까?

내 프로그램의 설치 프로그램도 필요합니다.


1
애플릿에 대한 간단한 해킹 : main과 함께 C 코드를 작성하고 system ( "appletviewer java_src_file")과 같은 "system"함수를 호출합니다.
— Madhusoodan P 2016 년

1
JRE가없는 Windows 시스템에서 .exe가 작동합니까?
— Arpit Agarwal

완료하기 위해 (설치 프로그램이 아닌 exe 래퍼가 필요했기 때문에 직접 시도하지 않았습니다) : javapackager를 사용하여 설치 프로그램 패키지를 작성할 수도 있습니다 ( docs.oracle.com/javase/8/docs/technotes/guides/deploy/… 참조 ). . EXE 또는 MSI 설치 관리자를 만들려면 추가로 Inno Setup 또는 WiX를 다운로드하여 설치해야합니다.
— anre

NSIS 도 도움이 될 수 있습니다 . nsis.sourceforge.net/Java_Launcher
— baris.aydinoz

답변:


324

javapackager

Java Packager 도구는 배포 할 Java 및 JavaFX 응용 프로그램을 컴파일, 패키지 및 준비합니다. javapackager 명령은 명령 행 버전입니다.

– 오라클의 문서

이 javapackager유틸리티는 JDK와 함께 제공됩니다. -native exe다른 많은 것들 중에서 플래그를 사용하여 .exe 파일을 생성 할 수 있습니다 .

WinRun4J

WinRun4j는 Windows 용 Java 실행기입니다. javaw.exe의 대안이며 다음과 같은 이점을 제공합니다.

  • 클래스 경로, 기본 클래스, vm args, 프로그램 args를 지정하기 위해 INI 파일을 사용합니다.
  • 작업 관리자에 나타나는 사용자 정의 실행 파일 이름.
  • 보다 유연한 메모리 사용을위한 추가 JVM 인수.
  • 사용자 정의 아이콘의 내장 아이콘 대체 기.
  • [더 많은 글 머리 기호는 다음과 같습니다]

– WinRun4J의 웹 페이지

WinRun4J는 오픈 소스 유틸리티입니다. 그것은이 많은 기능.

패커

Windows, Linux 및 Mac OS X에서 배포 할 JAR, 자산 및 JVM을 패키지하여 기본 실행 파일을 추가하여 기본 앱처럼 보이게합니다. Packr는 GUI 응용 프로그램에 가장 적합합니다.

– packr README

packr는 또 다른 오픈 소스 도구입니다.

JSmooth

JSmooth는 Java Executable Wrapper입니다. Java 응용 프로그램을위한 기본 Windows 시작 프로그램 (표준 .exe)을 만듭니다. 설치된 Java VM을 자체적으로 찾을 수 있기 때문에 Java 배포가 훨씬 부드럽고 사용자 친화적입니다.

– JSmooth 웹 사이트

JSmooth는 오픈 소스이며 기능이 있지만 매우 오래되었습니다. 마지막 릴리스는 2007 년이었습니다.

JexePack

JexePack 은 Java 애플리케이션 (클래스 파일)을 선택적으로 리소스 (GIF / JPG / TXT / etc 등)와 함께 압축 된 단일 32 비트 Windows EXE 로 패키지 할 수있는 명령 줄 도구 (자동 스크립팅에 적합)입니다. Sun의 Java Runtime Environment를 사용하여 실행됩니다. 콘솔 및 창 응용 프로그램이 모두 지원됩니다.

– JexePack의 웹 사이트

JexePack은 평가판입니다. 프로덕션 사용에는 결제가 필요하며이 도구로 만든 exe ​​파일은 결제하지 않고 "알림"을 표시합니다. 또한 마지막 릴리스는 2013 년이었습니다.

InstallAnywhere

InstallAnywhere를 사용하면 개발자가 모든 플랫폼에 맞는 전문 설치 소프트웨어를 쉽게 만들 수 있습니다. InstallAnywhere를 사용하면 업계 변화에 빠르게 적응하고 시장에 빠르게 진출하며 매력적인 고객 경험을 제공 할 수 있습니다. 배송하기 전에 프로젝트의 OSS 구성 요소의 취약성을 알고 있어야합니다.

– InstallAnywhere 웹 사이트

InstallAnywhere는 Java 기반 프로그램의 설치 프로그램을 생성하는 상용 / 기업 패키지입니다. .exe 파일을 만들 수 있습니다.

실행 가능한 JAR 파일

.exe 파일의 대안으로 JAR Manifest에 진입 점을 추가하여 두 번 클릭하면 자동으로 실행되는 JAR 파일을 작성할 수 있습니다 .


자세한 내용은

이 주제에 대한 훌륭한 정보 소스는 Excelsior의 기사 " Java를 EXE로 변환 – 이유,시기,시기 및 방법 "입니다.

함께 제공되는 기사 " 무료 JAR에서 EXE 로의 최고의 JAR 변환 도구 "도 참조하십시오 .


이클립스와 Jsmooth를 사용하는 것이 좋습니다. 다음 단계를 따르십시오 regilanj.wordpress.com/2017/11/19/…
— Maria Irudaya Regilan J

이 중 어떤 것이 내 상황에서 효과가 있습니까? stackoverflow.com/questions/56674075/…
— gunslingor 2016 년

이것을 시도하십시오 : javaexe.free.fr/html/en/JavaExe.html
— CamelTM

112

Launch4j

Launch4j는 경량 Windows 기본 실행 파일에서 jar로 배포 된 Java 응용 프로그램을 래핑하기위한 크로스 플랫폼 도구입니다. 실행 파일은 특정 JRE 버전을 검색하거나 번들 버전을 사용하도록 구성 할 수 있으며 초기 / 최대 힙 크기와 같은 런타임 옵션을 설정할 수 있습니다. 랩퍼는 또한 적절한 JRE를 찾을 수없는 경우 애플리케이션 아이콘, 기본 JRE 스플래시 화면, 사용자 정의 프로세스 이름 및 Java 다운로드 페이지를 통해 더 나은 사용자 경험을 제공합니다.

– Launch4j의 웹 사이트


35

업데이트 : GCJ가 죽었습니다. 그것은했다 공식적으로 제거 하더라도 그 전에 2016 년 GCC 프로젝트에서, 그것은 거의 7 년 동안 버려진하고, 어떤 경우는 충분히 완성 결코 실행 가능한 대안 자바 구현 역할을합니다.

다른 Java AOT 컴파일러를 찾으십시오.

GCJ : GNU GNU Compiler for Java 는 Java 소스 코드를 Windows 실행 파일을 포함하여 기본 머신 코드로 컴파일 할 수 있습니다.

자바에서 모든 것이이 GCJ에서 지원되지만, 특히 GUI 구성 요소 (참조 자바 API 년대가 지원? 얼마나 완전한? 지원됩니까 로부터 질문 FAQ ). 나는 GCJ를 많이 사용하지 않았지만 콘솔 응용 프로그램으로 수행 한 제한된 테스트에서 괜찮은 것 같습니다.

GCJ를 사용하여 독립 실행 형 실행 파일을 만드는 데 따른 단점 중 하나는 결과 EXE의 크기가 상당히 클 수 있다는 것입니다. 한 번은 GCJ에서 사소한 콘솔 응용 프로그램을 컴파일했으며 결과는 약 1MB의 실행 파일이었습니다. (이 문제를 알지 못하는 방법이있을 수 있습니다. 다른 옵션은 실행 가능한 압축 프로그램입니다.)

Nullsoft Scriptable Install System 은 오픈 소스 설치 프로그램과 관련하여 스크립트 가능한 설치 프로그램입니다. 궁금한 점이 있으면 필요한 JRE가 설치되지 않은 경우 JRE의 존재를 감지하고 자동으로 설치하는 방법에 대한 사용자 제공 예제 가 있습니다. (단, NSIS를 사용한 적이 없었습니다.)

Java 응용 프로그램 설치에 NSIS를 사용하는 방법에 대한 자세한 내용은 " Java 응용 프로그램을 배포하는 가장 좋은 방법은 무엇입니까? "라는 질문에 대한 답변 을 참조하십시오.


2
내가 볼 수 있듯이 프로젝트는 실제로 죽었습니다. 메인 페이지에 아무 소식이 없습니다
— 블라디슬라프 Rastrusny

비 오라클 소스가 유효성 검사를 위해 TCK에 액세스 할 수 없으므로 GNU Java 개발은 OpenJDK로 거의 옮겨졌습니다.
— Thorbjørn Ravn Andersen

25

다음 코드를 사용하여 배치 파일을 만들 수 있습니다.

start javaw -jar JarFile.jar

.bat를 .exe로 변환하여 .bat를 .exe로 변환하십시오.


2
좋은 랩퍼는 JRE를 가져 오거나 필요한 경우 설치하고 오류 상황을 처리합니다.
— Thorbjørn Ravn Andersen

16

우리는 Install4J 를 사용하여 Windows 또는 유닉스 환경 용 설치 프로그램을 작성하고 있습니다.

표준 대화로는 수행 할 수없는 특수 동작에 대한 스크립트를 작성하려는 시점까지 쉽게 사용자 정의 할 수 있습니다. 그러나 Windows 서비스로 Windows 서비스를 설정하더라도 표준 구성 요소 만 사용합니다.

  • 인스톨러 + 런처
  • 창 또는 유닉스
  • 자바 스크립트 가능
  • 개미 작업
  • 많은 사용자 정의 가능한 표준 패널 및 작업
  • 선택적으로 JRE를 포함하거나 다운로드
  • Windows 서비스를 시작할 수도 있습니다
  • 여러 언어

Launch4J는 같은 회사에서 시작한 것 같습니다 (실행기 만 있음-설치 프로그램 없음).

추신 : 슬프게도 나는이 승인에 대해 돈을 받고 있지 않습니다. 나는 그 도구를 좋아한다.


15

최신 Java Web Start 는 "로컬 설치"를 허용 할뿐만 아니라 오프라인 작업을 효율적으로 수행 할 수 있도록 향상되었습니다. 살펴볼 가치가 있습니다.

EDIT 2018 : Java Web Start는 더 이상 최신 JDK와 함께 제공되지 않습니다. 오라클은 "동봉 된 JRE를 사용하여 로컬로 앱 배포"모델을 향해 나아가고 있습니다.


분명히 JWS는 보안이 너무 강화되어 이전에 실행하는 것보다 훨씬 많은 노력이 필요합니다. 그래도 설치 프로그램에 유용 할 수 있습니다.
— Thorbjørn Ravn Andersen 님이

9

전체 애플리케이션을 원시 코드 (예 : EXE + DLL)로 변환해야하는 경우 ExcelsiorJET이 있습니다. 나는 그것이 잘 작동하고 JRE 번들링의 대안을 제공한다는 것을 알았습니다.


그래도 정말 비싸다.
— Mordechai 2016 년


6

launch4j가 java 소스 코드 (.java)를 .exe 파일로 변환하는 가장 좋은 도구라고 말할 수 있습니다. 배포를 위해 jre를 번들로 묶을 수도 있고 exe를 아이콘 화 할 수도 있습니다. 응용 프로그램의 크기는 커지지 만 사용자가 jre를 설치하지 않아도 응용 프로그램이 완벽하게 작동합니다. 또한 사용자가 별도로 설치하지 않고도 앱에 필요한 특정 jre를 제공 ​​할 수 있습니다. 그러나 불행히도 Java는 그 중요성을 잃습니다. 다중 플랫폼 지원은 완전히 무시되며 최종 앱은 Windows에서만 지원됩니다. 그러나 Windows 사용자에게만 제공하는 경우 큰 문제는 아닙니다.


5

Janel 을 사용할 수 있습니다 . 이 마지막은 응용 프로그램 실행기 또는 서비스 실행기 (4.x에서 사용 가능)로 작동합니다.


4

또는 일부 java-to-c 변환기 (예 : JCGO )를 사용하고 생성 된 C 파일을 대상 플랫폼의 기본 2 진 (.exe) 파일로 컴파일 할 수 있습니다.


2
나는이 방법의 효능을 매우 믿습니다. 나는 그것을 믿기 위해 그것을보아야 할 것입니다 (대부분의 Java 코드가 JRE에 대한 API 호출이며 C에 존재하지 않는 모든 언어는 언어 작동 방식의 차이점을 신경 쓰지 마십시오).
— Camilo Martin

3

Java 프로그램을 .exe 응용 프로그램으로 변환하는 것에 대해 용서받을 수 있으며 이유가 있습니다. 중요한 것은 Java 프로그램을 많은 IDE에서 jar 파일로 컴파일 할 수 있다는 것입니다. 프로그램이 .jar 형식 인 경우 매우 제한된 환경에서만 실행되는 .exe와 달리 다중 플랫폼에서 실행될 수 있습니다. Java 프로그램이 매우 필요한 경우가 아니면 Exe로 변환되지 않아야한다는 생각입니다. jar 파일 인 동안 Java 프로그램을 실행하는 .bat 파일을 항상 작성할 수 있습니다.

exe로 변환하는 것이 실제로 필요한 경우 Jar2Exe 변환기는 자동으로 수행하며 기본 응용 프로그램과 함께 컴파일 된 라이브러리를 연결할 수도 있습니다.


문제는 자바의 힘은 이식성이지만 많은 사람들은 기본 윈도우 exe가 필요합니다. 개인적으로 Java의 개념을 좋아하지만 JRE를 다운로드하지 않고도 사용자가 실행할 수있는 것을 배포하고 싶습니다.
— Balmipour

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.