[java] JAR 파일을 실행하는 방법

다음과 같은 JAR 파일을 작성했습니다.

jar cf Predit.jar *.*

이 JAR 파일을 두 번 클릭하여 실행했습니다 (작동하지 않았습니다). 그래서 다음과 같이 DOS 프롬프트에서 실행했습니다.

java -jar Predit.jar

“주 클래스를로드하지 못했습니다”예외가 발생했습니다. 그래서이 JAR 파일을 추출했습니다.

jar -xf Predit.jar

클래스 파일을 실행했습니다.

java Predit

잘 작동했습니다. JAR 파일이 작동하지 않는 이유를 모르겠습니다. JAR 파일을 실행하는 단계를 알려주십시오



답변

jar 파일 매니페스트에 Main-Class를 지정해야합니다.

오라클의 튜토리얼 에는 완전한 데모가 포함되어 있지만 여기에는 처음부터 다른 데모가 있습니다. 두 개의 파일이 필요합니다 :

Test.java :

public class Test
{
    public static void main(String[] args)
    {
        System.out.println("Hello world");
    }
}

manifest.mf :

Manifest-version: 1.0
Main-Class: Test

텍스트 파일은 줄 바꿈 또는 캐리지 리턴으로 끝나야합니다. 마지막 줄은 줄 바꿈이나 캐리지 리턴으로 끝나지 않으면 제대로 구문 분석되지 않습니다.

그런 다음 다음을 실행하십시오.

javac Test.java
jar cfm test.jar manifest.mf Test.class
java -jar test.jar

산출:

Hello world


답변

java -classpath Predit.jar your.package.name.MainClass


답변

jar 검사를 실행하기 전에 MANIFEST.MF 파일 Main-Class: classname에서 사용 가능하거나 사용 불가능 합니다. MANIFEST.MF가 jar에 있습니다.

java -jar filename.jar


답변

jar에 manifest를 추가해야합니다. 이는 java 런타임에 기본 클래스가 무엇인지 알려줍니다. 다음 내용으로 ‘Manifest.mf’파일을 만듭니다.

Manifest-Version: 1.0
Main-Class: your.programs.MainClass

‘your.programs.MainClass’를 실제 메인 클래스로 변경하십시오. 이제 파일을 ‘META-INF’라는 하위 폴더에있는 Jar 파일에 넣습니다. 이를 위해 ZIP 유틸리티를 사용할 수 있습니다.


답변

.class, .jar 파일을 작성하는 매우 간단한 방법입니다.

jar 파일을 실행합니다. 매니페스트 파일에 대해 너무 걱정할 필요가 없습니다. 간단하고 우아하게 만드십시오.

자바 샘플 Hello World Program

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}

클래스 파일 컴파일

javac HelloWorld.java

jar 파일 작성

jar cvfe HelloWorld.jar HelloWorld HelloWorld.class

또는

jar cvfe HelloWorld.jar HelloWorld *.class

jar 파일 실행

 java -jar HelloWorld.jar

또는

java -cp HelloWorld.jar HelloWorld


답변

jar 파일을 실행하기 위해 매니페스트를 만들지 않으려면 jar 파일을 실행할 때 명령 줄에서 직접 주 클래스를 참조 할 수 있습니다.

java -jar Predit.jar -classpath your.package.name.Test

jar 파일에서 실행할 기본 클래스를 설정합니다.


답변

자바

class Hello{
   public static void main(String [] args){
    System.out.println("Hello Shahid");
   }
}

manifest.mf

Manifest-version: 1.0
Main-Class: Hello

명령 행에서 :

$ jar cfm HelloMss.jar  manifest.mf Hello.class
$ java -jar HelloMss.jar

산출:

Hello Shahid