명령줄에서 JAR 파일 실행

JavaBeginner
지금 연습하기

소개

이 랩에서는 Ubuntu 시스템에서 Java 로 JAR 파일을 생성하고 실행하는 방법을 배우게 됩니다. JAR 는 Java Archive 의 약자입니다. JAR 파일은 .class 파일과 프로젝트에 필요한 기타 메타데이터 및 리소스를 포함하여 압축된 Java 프로젝트 파일을 담고 있습니다. 이 랩에서는 jar 파일을 생성하고 명령줄에서 실행하는 방법을 다룹니다.

테스트 Java 파일 생성

이 단계에서는 ~/project 디렉토리에 HelloWorld.java라는 Java 파일을 생성합니다. HelloWorld.java의 내용은 다음과 같아야 합니다.

public class HelloWorld
{
    public static void main(String args[])
    {
        System.out.print("\n\nHello World\n\n");
    }
}

이 파일을 사용하여 랩의 뒷부분에서 실행할 jar 파일을 생성합니다.

Java 파일 컴파일

이 단계에서는 다음 javac 명령을 사용하여 HelloWorld.java 파일을 컴파일합니다.

javac ~/project/HelloWorld.java

실행 가능한 JAR 파일 생성

이 단계에서는 실행 가능한 JAR 파일을 생성합니다. 실행 가능한 JAR 파일에는 매니페스트 파일 (manifest file) 이 포함되어 있지만, 실행 불가능한 JAR 파일에는 이 파일이 포함되어 있지 않습니다. 이 매니페스트 파일에는 JAR 이 실행될 때 실행되어야 하는 클래스의 이름이 포함되어 있습니다. Ubuntu 시스템에서는 다음과 같이 이 매니페스트 파일을 사용하여 실행 가능한 JAR 파일을 생성할 수 있습니다.

  1. ~/project 디렉토리에 ManifestFile.txt라는 파일을 생성하고 파일에 다음 내용을 추가합니다.

    Main-Class: HelloWorld
  2. 다음 명령으로 실행 가능한 jar 파일을 생성합니다.
    jar -cfm ~/project/HelloWorld.jar ~/project/ManifestFile.txt ~/project/HelloWorld.class
    -c 플래그는 아카이브 파일 (archive file) 을 생성하는 데 사용됩니다. -f 플래그는 파일 이름을 지정하는 데 사용됩니다. -m 플래그는 매니페스트 파일의 내용을 포함하는 데 사용됩니다.

실행 불가능한 JAR 파일 생성

이 단계에서는 실행 불가능한 JAR 파일을 생성하는 방법을 배웁니다. -m 플래그를 제외할 것입니다. 명령에 매니페스트 파일의 이름을 전달할 필요가 없습니다. 다음 명령을 사용하여 실행 불가능한 jar 파일을 생성할 수 있습니다.

jar -cf ~/project/HelloWorldNonExec.jar ~/project/HelloWorld.class

실행 가능한 JAR 파일 실행

이 단계에서는 3 단계에서 생성한 실행 가능한 JAR 파일을 실행하는 방법을 배웁니다. 다음 명령을 사용하여 실행할 수 있습니다.

java -jar ~/project/HelloWorld.jar

명령의 출력은 다음과 같습니다.

Hello World

실행 불가능한 JAR 파일 실행

이 단계에서는 4 단계에서 생성한 실행 불가능한 JAR 파일을 실행하는 방법을 배웁니다. 다음 명령을 사용하여 실행할 수 있습니다.

java -cp ~/project/HelloWorldNonExec.jar HelloWorld

명령의 출력은 다음과 같습니다.

Hello World

명령줄 인수로 Jar 파일 실행 방법

이 단계에서는 JAR 파일을 실행할 때 명령줄 인수를 전달하는 방법을 배웁니다.

  1. ~/project 디렉토리에 다음 코드를 사용하여 CommandLineArgs.java라는 새 Java 클래스를 생성합니다.

    public class CommandLineArgs {
        public static void main(String args[]) {
            for (String s : args) {
                System.out.println(s);
            }
        }
    }
  2. CommandLineArgs.java를 컴파일합니다.

    javac ~/project/CommandLineArgs.java
  3. 실행 가능한 JAR 파일을 생성합니다.

    jar -cfm ~/project/CommandLineArgs.jar ~/project/ManifestFile.txt ~/project/CommandLineArgs.class
  4. 세 개의 명령줄 인수를 전달하려면 다음 명령을 실행합니다.

    java -jar ~/project/CommandLineArgs.jar "Welcome " "Back " User

명령의 출력은 다음과 같습니다.

Welcome
Back
User

요약

축하합니다! 명령줄에서 JAR 파일 실행 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.