소개
이 랩에서는 Ubuntu 시스템에서 Java 로 JAR 파일을 생성하고 실행하는 방법을 배우게 됩니다. JAR 는 Java Archive 의 약자입니다. JAR 파일은 .class 파일과 프로젝트에 필요한 기타 메타데이터 및 리소스를 포함하여 압축된 Java 프로젝트 파일을 담고 있습니다. 이 랩에서는 jar 파일을 생성하고 명령줄에서 실행하는 방법을 다룹니다.
이 랩에서는 Ubuntu 시스템에서 Java 로 JAR 파일을 생성하고 실행하는 방법을 배우게 됩니다. JAR 는 Java Archive 의 약자입니다. JAR 파일은 .class 파일과 프로젝트에 필요한 기타 메타데이터 및 리소스를 포함하여 압축된 Java 프로젝트 파일을 담고 있습니다. 이 랩에서는 jar 파일을 생성하고 명령줄에서 실행하는 방법을 다룹니다.
이 단계에서는 ~/project 디렉토리에 HelloWorld.java라는 Java 파일을 생성합니다. HelloWorld.java의 내용은 다음과 같아야 합니다.
public class HelloWorld
{
public static void main(String args[])
{
System.out.print("\n\nHello World\n\n");
}
}
이 파일을 사용하여 랩의 뒷부분에서 실행할 jar 파일을 생성합니다.
이 단계에서는 다음 javac 명령을 사용하여 HelloWorld.java 파일을 컴파일합니다.
javac ~/project/HelloWorld.java
이 단계에서는 실행 가능한 JAR 파일을 생성합니다. 실행 가능한 JAR 파일에는 매니페스트 파일 (manifest file) 이 포함되어 있지만, 실행 불가능한 JAR 파일에는 이 파일이 포함되어 있지 않습니다. 이 매니페스트 파일에는 JAR 이 실행될 때 실행되어야 하는 클래스의 이름이 포함되어 있습니다. Ubuntu 시스템에서는 다음과 같이 이 매니페스트 파일을 사용하여 실행 가능한 JAR 파일을 생성할 수 있습니다.
~/project 디렉토리에 ManifestFile.txt라는 파일을 생성하고 파일에 다음 내용을 추가합니다.
Main-Class: HelloWorld
다음 명령으로 실행 가능한 jar 파일을 생성합니다.
jar -cfm ~/project/HelloWorld.jar ~/project/ManifestFile.txt ~/project/HelloWorld.class
-c 플래그는 아카이브 파일 (archive file) 을 생성하는 데 사용됩니다. -f 플래그는 파일 이름을 지정하는 데 사용됩니다. -m 플래그는 매니페스트 파일의 내용을 포함하는 데 사용됩니다.
이 단계에서는 실행 불가능한 JAR 파일을 생성하는 방법을 배웁니다. -m 플래그를 제외할 것입니다. 명령에 매니페스트 파일의 이름을 전달할 필요가 없습니다. 다음 명령을 사용하여 실행 불가능한 jar 파일을 생성할 수 있습니다.
jar -cf ~/project/HelloWorldNonExec.jar ~/project/HelloWorld.class
이 단계에서는 3 단계에서 생성한 실행 가능한 JAR 파일을 실행하는 방법을 배웁니다. 다음 명령을 사용하여 실행할 수 있습니다.
java -jar ~/project/HelloWorld.jar
명령의 출력은 다음과 같습니다.
Hello World
이 단계에서는 4 단계에서 생성한 실행 불가능한 JAR 파일을 실행하는 방법을 배웁니다. 다음 명령을 사용하여 실행할 수 있습니다.
java -cp ~/project/HelloWorldNonExec.jar HelloWorld
명령의 출력은 다음과 같습니다.
Hello World
이 단계에서는 JAR 파일을 실행할 때 명령줄 인수를 전달하는 방법을 배웁니다.
~/project 디렉토리에 다음 코드를 사용하여 CommandLineArgs.java라는 새 Java 클래스를 생성합니다.
public class CommandLineArgs {
public static void main(String args[]) {
for (String s : args) {
System.out.println(s);
}
}
}
CommandLineArgs.java를 컴파일합니다.
javac ~/project/CommandLineArgs.java
실행 가능한 JAR 파일을 생성합니다.
jar -cfm ~/project/CommandLineArgs.jar ~/project/ManifestFile.txt ~/project/CommandLineArgs.class
세 개의 명령줄 인수를 전달하려면 다음 명령을 실행합니다.
java -jar ~/project/CommandLineArgs.jar "Welcome " "Back " User
명령의 출력은 다음과 같습니다.
Welcome
Back
User
축하합니다! 명령줄에서 JAR 파일 실행 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.