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.