2009-04-29 5 views
44

JCreator에서 Java 프로그램을 프로그래밍했습니다. 모든 것이 끝났지 만 실행 파일을 만들고 싶습니다. 즉, Java 클래스를로드하고 컴파일 한 다음 실행하면서 프로그램을 실행하고 싶지 않습니다. 독립형 실행 파일로실행 가능한 Java 프로그램은 어떻게 만듭니 까?

가장 빠른 방법은 무엇입니까?

+4

stawoverflow에 관한 많은 게시물이 있습니다. http://stackoverflow.com/questions/80105/whats-the-best-way-to-distribute-java-applications –

답변

1

스크립트를 작성하여 실행 가능하도록 만듭니다. 스크립트는 일반적으로 명령 줄에서 사용했던 것과 같아야합니다 : 이것은 이미 된 .java 파일을 컴파일 자바 당신의 .class 파일을 찾을 수있는 한 가정

java YourClass 

. java가 .class 파일을 찾을 수 없으면, -classpath 옵션을 사용하거나 CLASSPATH 환경 변수를 설정하십시오.

5

명령 행에서 실행 가능하게하려는 Java 파일의 루트 디렉토리로 이동하십시오.

이 명령을 사용 :

jar -cvf [name of jar file] [name of directory with Java files] 

이 항아리 아카이브의 META-INF라는 디렉토리를 생성합니다.

Main-Class: [fully qualified name of your main class] 

다음이 명령을 사용합니다 :

java -jar [name of jar file] 

및 프로그램 것이 META-INF에서 텍스트 편집기에서이 파일을 열고 다음 줄을 추가 MANIFEST.MF라는 파일이 실행 :

2

GCJ ~ compile Java 프로그램을 원시 코드로 사용할 수 있습니다.
그들은 심지어 을 native version으로 컴파일했습니다.

1

난 당신이 무슨 뜻인지 확실히 모르겠어요 launch4j

10

를 살펴 보자.

하지만 두 가지 중 하나를 의미한다고 가정합니다.

  • 당신은 실행의 .jar 파일을 생성 할

이클립스이 정말 쉽게 파일을 할 수 -> 수출을하고 항아리를 만들고 적절한 메인 클래스를 선택하고이 생성됩니다. 항아리. 윈도우에서 .jar를 java 런타임과 연관시켜야 할 수도 있습니다. 일명 잡고 아래로 이동, 마우스 오른쪽 버튼으로 "오픈"를 클릭하면 같은 별도의 라이브러리를 사용할 필요가 다음 만들 실제 .exe 파일을 당신의 JVM을 찾아 javaw.exe가

  • 와 연결

http://jsmooth.sourceforge.net/ 또는 http://launch4j.sourceforge.net/은 본질적으로 앱을 부트 스트랩 할 멋진 아이콘으로 기본 .exe 스텁을 만듭니다. 고객이 JVM을 설치하지 않았고 고객에게 JVM을 설치하라는 메시지가 표시되는지 여부를 파악합니다.

0

앞서 제안한대로 launch4j를보고 JAR 파일의 실행 파일을 만들 수 있습니다.또한 재배포 할 수 있도록 jar 파일 주위에 .exe 래퍼를 넣을 수있는 "JExePack"이라는 것이 있습니다 (참고 : 클라이언트는 자신의 PC에서 프로그램을 실행하려면 JRE가 필요합니다) GCJ로 작성된 Exes는 이 의존성이 없지만 프로세스가 조금 더 복잡합니다.

3

WinRun4J을 살펴보십시오. 그것은 윈도우 일 뿐이지 만, 유닉스는 쓰레기통 같은 (사용자에게) 실행 가능한 스크립트를 가지고 있기 때문이다. Unix에서 컴파일하도록 WinRun4J를 쉽게 수정할 수도 있습니다.

config 파일이 필요하지만 다시 하드 코딩 된 옵션으로 다시 컴파일하면 config-less exe처럼 작동합니다.

55

SDK와 함께 번들로 제공되는 jar tool을 사용하여 프로그램의 실행 가능 버전을 만들 수 있습니다.

이것이 완료된 방법입니다.

더 쉽기 때문에 내 명령 프롬프트에서 결과를 게시하고 있지만 JCreator를 사용할 때도 마찬가지입니다.

$cat HelloWorldSwing.java 
    package start; 

    import javax.swing.*; 

    public class HelloWorldSwing { 
     public static void main(String[] args) { 
      //Create and set up the window. 
      JFrame frame = new JFrame("HelloWorldSwing"); 
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

      JLabel label = new JLabel("Hello World"); 
      frame.add(label); 

      //Display the window. 
      frame.pack(); 
      frame.setVisible(true); 
     } 
    } 
    class Dummy { 
     // just to have another thing to pack in the jar 
    } 

은 매우 간단합니다, 바로 그 다음 컴파일에 "Hello World"

을 가진 창을 표시합니다 :

먼저 프로그램 작성

$javac -d . HelloWorldSwing.java 

두 파일은 내부에서 생성 된을 " 시작 "폴더 Dummy.classHelloWorldSwing.class.

$ls start/ 
Dummy.class  HelloWorldSwing.class 

다음 단계에서 jar 파일을 만듭니다. 각 jar 파일에는 매니페스트 파일이 있으며이 파일에는 실행 파일과 관련된 특성이 있습니다.

이것은 내 매니 페스트 파일의 내용입니다.

$cat manifest.mf 
Main-class: start.HelloWorldSwing 

그냥 메인 클래스 (공공 정적 무효 메인 메소드를 사용하여 하나)

매니페스트가 준비되면, 항아리 실행 파일 호출 무엇인지에 대해 설명합니다.

많은 옵션이 있습니다. 여기에 -c -m -f (-c를 사용하여 jar를 만들고 -m을 사용하여 매니페스트 파일을 지정하고 -f = 파일의 이름을 지정해야합니다 ..) 및 폴더 I 항아리에 넣어.

$jar -cmf manifest.mf hello.jar start 

이 시스템

enter image description here

해당 파일에 당신이 할 수있는 나중에 그냥 더블 클릭에 .jar 파일을 생성하고 예상대로 실행됩니다.

enter image description here

방금, "도구"메뉴를 사용하여 항아리를 만들 필요가 JCreator있는 .jar 파일을 작성하려면,하지만 난 매니페스트가 어떻게되는지 모르겠어요.

다음은 내가 찾은 동영상입니다 : Create a Jar File in Jcreator.

이 ".jar"접근 방식에 익숙해지면이 스레드에 게시 된 다른 링크를 계속 진행할 수 있습니다.

jnlp (Java Network Launcher Protocol)도 사용할 수 있습니다.

+0

@IlmariKaronen 업데이트되었습니다! – OscarRyz

1

Java Web Start는 OS가 Windows, Mac 또는 * nix인지 여부에 관계없이 Java 리치 클라이언트를 인터넷에서 최종 사용자의 데스크탑으로 직접 설치하는 데 적합한 기술입니다. 데스크톱 통합 및 자동 업데이트 기능이 포함되어 있습니다.

JWS에 대한 자세한 내용은 JWS info page을 참조하십시오.

+0

FYI, * Java Web Start * 및 JNLP는 Java 9에서 더 이상 사용되지 않으며 제거 할 예정입니다. 'JDK-8184998 (not public) '을 참조하여 오라클에 의해이 [deprecation list] (http://www.oracle.com/technetwork/java/javase/9-deprecated-features-3745636.html)를 참조하십시오 : ** * Java 배치 기술은 향후 제공되지 않을 예정이며 ** Java 애플릿 및 WebStart 기능 (Java 애플릿 뷰어, Java 애플릿 뷰어, JNLP 및 javaws 도구를 포함한 Java Web Start는 모두 사용되지 않습니다. JDK 9에서는 향후 릴리스에서 제거 될 예정입니다. * –

3

Jexecutable은 Java 프로그램 용 Windows exe를 생성 할 수 있습니다. 그것은 항아리를 exe 파일에 내장하고 Windows 프로그램처럼 실행할 수 있습니다.

0

NetBeans를 사용하는 경우 f11 키를 누르면 프로젝트가 빌드됩니다. 기본 경로는 projectfolder \ dist입니다.

10

Eclipse를 사용하는 경우 아래 7 단계를 수행하여 Windows 용 .exe 파일을 가져올 수 있습니다. step3

step1step2

지금 당신은 JAR 파일이 있습니다. java -jar path/jarname.jar을 사용하여 실행하십시오. 당신은 .exe를이를 변환 할 경우

enter image description here


, 당신이 시도 할 수 http://sourceforge.net/projects/launch4j/files/launch4j-3/

STEP5STEP6

STEP7 : 가 .xml 파일을 적절한 이름을 지정하고 클릭 " 구하다". .xml 파일은 표준 파일이므로 걱정하지 마십시오. 이제 실행 파일이 생성됩니다!

+0

Linux 및 MacOS는 어떻게 실행 파일을 처리합니까? jar 파일을 두 번 클릭하면 모든 OS에서 작동합니까? –

+0

@androiddeveloper 운영 체제 용으로 Java 환경이 존재하는 한 동일하게 작동합니다. – reporter

관련 문제