Maven 입문 | Maven 프로젝트 작성 | 프로그램 실행

package를 한 후에는 프로젝트 폴더를 열어 보자. 새롭게 target이라는 폴더가 생성되어 있을 것이다. 이것을 열어 보면, 이 중에는 “SampleMavenApp-1.0-SNAPSHOT.jar"라는 파일이 저장되어 있다. 이것이 빌드하여 생성된 Jar 파일이다.

그럼 이 파일을 실행해 보자. 명령 프롬프트 또는 터미널에서 “cd target"을 실행하고 “target” 디렉토리로 이동한다. 그리고 다음과 같이 실행한다.

$ java -classpath SampleMavenApp-1.0-SNAPSHOT.jar com.devkuma.App

이는 SampleMavenApp-1.0-SNAPSHOT.jar에서 com.devkuma.App 클래스를 실행한다. 그 바로 아래에 다음과 같이 텍스트가 출력되는 것이다.

Hello World!

이것이 com.devkuma.App 클래스의 실행 결과이다. App.java 소스 코드 파일이 어떻게 되어 있는지 살펴보면 아래와 같이 작성되어 있는지 알 수 있다.

package com.devkuma;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

Jar 자체로는 실행되지 않는다.

그런데 생성된 Jar 파일을 실행하는 데 -classpath에 Jar 파일을 지정하고, 메인 클래스를 지정하는 것은 최근 좀 처럼 볼 수 없는 고전적인 방식이다.

사실 mvn package으로 생성된 Jar 파일은 실행 가능한 Jar는 아니다. 따라서 이러한 귀찮은 방식을 하지 않으면 안된다.

사실은 프로젝트 빌드 및 실행은 좀 알기 쉬운 방식도 제공된다. 다만, 거기에는 전용 플러그인을 제공해야 한다. 이는 나중에 설명하도록 하겠다. 그 전까지는 “mvn package 패키지를 만들고, java -classpath에서 실행한다"는 방식으로 동작 체크를 한다.