웹사이트 검색

Linux 터미널에서 .Jar 파일을 생성하고 실행하는 방법


JAR(Java ARchive)은 많은 Java 클래스 파일과 관련 메타데이터 및 텍스트, 이미지 등의 리소스를 단일 파일로 집계하는 데 사용되는 플랫폼 독립적인 파일 형식입니다. 배포용.

이를 통해 Java 런타임은 하나의 아카이브 파일에 전체 애플리케이션을 효율적으로 배포할 수 있으며 보안, 해당 요소 압축, 다운로드 시간 단축, 패키지 봉인 및 버전 관리 허용, 이식성 지원과 같은 많은 이점을 제공합니다. 또한 확장을 위한 패키징도 지원합니다.

이 기사에서는 간단한 Java 애플리케이션을 생성하여 JAR 파일로 묶는 방법과 Linux 터미널에서 .jar 파일을 실행하는 방법을 보여줍니다.

이렇게 하려면 Java 애플리케이션을 실행하기 위한 Java 명령줄 도구와 JAR 파일에 캡슐화된 프로그램을 실행하기 위한 -jar 플래그가 설치되어 있어야 합니다. 이 플래그를 사용하면 지정된 JAR 파일이 모든 사용자 클래스의 소스가 되며 다른 클래스 경로 설정은 무시됩니다.

Linux에서 JAR 파일을 만드는 방법

1. 먼저 데모용으로 TecmintApp이라는 애플리케이션의 기본 메소드를 사용하여 간단한 Java 클래스를 작성하는 것부터 시작하세요.

vim TecmintApp.java

다음 코드를 복사하여 TecmintApp.java 파일에 붙여넣습니다.

public class TecmintApp {
	public static void main(String[] args){
		System.out.println(" Just executed TecmintApp! ");
	}
}

파일을 저장하고 닫습니다.

2. 다음으로 javacjar 유틸리티를 사용하여 클래스를 JAR 파일로 컴파일하고 압축해야 합니다. 보여진 바와 같이.

javac -d . TecmintApp.java
ls
jar cvf tecmintapp.jar TecmintApp.class
ls

3. tecmintapp.jar이 생성되면 이제 그림과 같이 java 명령을 사용하여 파일을 실행할 수 있습니다.

java -jar tecmintapp.jar

no main manifest attribute, in tecmintapp.jar

위 명령의 출력에서 오류가 발생했습니다. JVM(Java Virtual Machine)이 기본 매니페스트 속성을 찾을 수 없어 기본 메소드( 공개 정적 무효 메인(String[] args)).

JAR 파일에는 애플리케이션의 시작점 역할을 하는 기본 메소드가 있는 클래스를 정의하는 Main-Class:classname 형식의 줄이 포함된 매니페스트가 있어야 합니다.

4. 위 오류를 수정하려면 코드와 함께 매니페스트 속성을 포함하도록 JAR 파일을 업데이트해야 합니다. MANIFEST.MF 파일을 만들어 보겠습니다.

vim MANIFEST.MF

다음 줄을 복사하여 MANIFEST.MF 파일에 붙여넣습니다.

Main-Class:  TecmintApp

파일을 저장하고 다음 명령을 사용하여 tecmintapp.jarMANIFEST.MF 파일을 추가해 보겠습니다.

jar cvmf MANIFEST.MF tecmintapp.jar TecmintApp.class

5. 마지막으로 JAR 파일을 다시 실행하면 출력에 표시된 대로 예상된 결과가 생성됩니다.

java -jar tecmintapp.jar

Just executed TecmintApp!

자세한 내용은 java, javacjar 명령 매뉴얼 페이지를 참조하세요.

man java
man javac
man jar

그게 다야! 이 짧은 기사에서는 간단한 Java 애플리케이션을 생성하여 JAR 파일로 묶는 방법과 터미널에서 .jar 파일을 실행하는 방법을 설명했습니다. 공유할 질문이나 보충 아이디어가 있는 경우 아래 피드백 양식을 사용하세요.