티스토리 뷰

programming/Java

java compile with package and jar

Jacob_baek 2019. 4. 21. 18:29

Java Compile 및 jar 파일 생성 및 실행방법에 대해 알아볼 필요가 있어 이렇게 글을 남기게 되었다.
관련된 파일 및 source code는 아래 git link를 참고한다.
https://github.com/jacobbaek/TestJava

앞서 링크된 git link에 존재하는 source code는 다음과 같다.

jacob@jacob-laptop:~/workspaces/TestJava$ cat src/MainJava/TestMain.java 

package MainJava;

import SubJava.Subclass;

public class TestMain {
    public static void main(String[] args) {
        Subclass s = new Subclass("Call the subclass in the subjava");
        s.Print();
    }
}

jacob@jacob-laptop:~/workspaces/TestJava$ cat src/SubJava/Subclass.java 

package SubJava;

public class Subclass {
    public int a;
    public String str;

    public Subclass(String str) {
        this.str = str;
    }

    public void Print() {
        System.out.println(this.str);
    }
}

jacob@jacob-laptop:~/workspaces/TestJava$ cat src/Manifest.txt 

Main-class: MainJava.TestMain

 

Java Compile

Java Class 파일들을 생성한다.

jacob@jacob-laptop:~/workspaces/TestJava/src$ javac -d . MainJava/TestMain.java 

Jar 생성

Manifest 파일과 함께 jar 파일을 생성한다.

jacob@jacob-laptop:~/workspaces/TestJava/src$ jar -cmvf Manifest.txt Test.jar MainJava/TestMain.class SubJava/Subclass.class 
added manifest
adding: MainJava/TestMain.class(in = 404) (out= 279)(deflated 30%)
adding: SubJava/Subclass.class(in = 464) (out= 309)(deflated 33%)

Jar 실행

java -jar 명령을 통해 실행한다.

jacob@jacob-laptop:~/workspaces/TestJava/src$ java -jar Test.jar 
Call the subclass in the subjava

 

참고로 java -jar 를 통한 실행을 하고자 할 경우 Manifest.txt 파일이 필요하다.
만약 Manifest 파일없이 jar 파일을 생성할 경우 아래와 같이 manifest 속성 정보에 대한 에러가 발생된다.

jacob@jacob-laptop:~/workspaces/TestJava$ java -jar Test.jar
no main manifest attribute, in Test.jar
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함