요즘은 다 ide로 제공하기 때문에 실제로 어떻게 흘러가는지 알수가 없다 . 예전에는 editplus로 코딩을 했었는데 …

패스트캠퍼스 java all in one 강의를 보면서 다시 한번 다듬는 생각에 다시 정리를 해야겠다는 생각이 들었다.

하나의 main클레스를 사용하여 테스트를 해보자

Java class file

package kr.co.morris;

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

위의 파일을 실행 하려면

main 클레스가 있는 위치에서 우선 javac를 통하여 컴파일을 해야한다

$javac Main.java

컴파일을 하면 두개의 파일이 생성될것이다.

$ls
Main.java Main.class

여기서 실행하기 하려면 뒤의 확장자를 제외하고 java 명령어를 통하여 실행하면된다.

$java Main
Hello Spring!

Jar로 실행하기

-c 는 새로운 아카이브 형태로 생성한다는 옵션

-f 는 새로운 아카이브의 파일의 이름을 설명하는것

$ javac kr/co/morris/Main.java

$jar -cf morris.jar ./kr/*

$ls
ko
morris.jar

jar 실행시 -cp 클래스패스를 지정하고 실행하면된다.

$java -cp morris.jar kr.co.morris.Main

jar파일로 만 실행 하려면

$java -jar morris.jar
morris.jar에 기본 Manifest 속성이 없습니다.

Manifest 속성이 필요하다 . Manifest를 생성하자!!

해당 루트폴더에 manifest.txt 파일을 생성해주기

manifest.txt

Main-Class: kr.co.morris.Main

Jar 명령어를 사용하여 옵션에 m 옵션을 붙여주고 manifest.txt 파일을 추가 해주면 끝!

$jar -cmf manifest.txt morris02.jar ./kr/*

$java -jar morris02.jar 
Hello Spring!

'ProgramLanguage > Java' 카테고리의 다른 글

객체 지향 설계 5원칙 - SOLID  (0) 2019.12.26
Java 와 객체 지향  (0) 2019.12.03
인터페이스와 추상클래스  (0) 2019.06.10
람다 식 Lambda Expression (1)  (0) 2019.06.09
익명클래스(Anonymous Class)  (0) 2019.06.08

+ Recent posts