Ways to Add JARs to Classpath in Java

1. 소개

Java 프로젝트 작업 중 외부 라이브러리에 의존하여 애플리케이션을 작성하는 경우가 많습니다.

이 기사에서는 이러한 라이브러리를 클래스패스에 JAR로 추가하는 다양한 방법을 살펴보겠습니다.

2. 커맨드 라인에서 -cp 또는 -classpath 사용하기

먼저, 커맨드 라인에서 프로그램을 실행하는 경우 JAR 의존성을 명령의 일부분으로 지정하는 것이 합리적일 수 있습니다:

java -cp /path/to/jar/file.jar com.example.MyClass

여기서 /path/to/jar/file.jar는 JAR 파일의 경로이고 com.example.MyClass는 실행할 클래스입니다.

여러 개의 JAR도 추가할 수 있습니다:

java -cp “lib/jar1.jar:lib/jar2.jar” com.example.MyClass

3. 커맨드 라인에서 CLASSPATH 사용하기

동일한 JAR가 동일한 머신에서 여러 자바 프로그램을 실행하는 데 필요할 수 있는 상황이 있을 수 있습니다.

이 경우, 매번 명령에서 클래스패스를 지정하는 대신 macOS/Linux에서 CLASSPATH 환경 변수를 설정할 수 있습니다:

export CLASSPATH=/path/to/jar/file.jar

Windows에서 동일한 작업을 수행하는 방법은 다음과 같습니다:

set CLASSPATH=C:\path\to\jar\file.jar

CLASSPATH를 설정하면 –classpath 옵션을 지정하지 않고도 자바 프로그램을 실행할 수 있습니다.

이와 같이 CLASSPATH를 설정하면 해당 터미널 세션에만 유효하다는 점에 유의해야 합니다. 터미널이 닫히면 설정이 사라집니다. 지속적으로 사용할 수 있도록 환경 변수로 클래스패스를 추가할 수 있습니다.

4. MANIFEST.MF 파일에서 클래스패스 지정하기

독립 실행형 애플리케이션을 만들 때, 모든 의존 JAR를 하나의 애플리케이션 JAR로 패키징하는 것이 도움이 됩니다.

이를 위해 JAR 파일의 MANIFEST.MF 파일에 클래스패스를 포함해야 합니다:

Manifest-Version: 1.0
Class-Path: lib/jar1.jar lib/jar2.jar
Main-Class: com.example.MainClass

그런 다음 이 매니페스트를 사용하여 애플리케이션 JAR를 생성합니다:

jar cvfm app.jar MANIFEST.MF -C /path/to/classes .

그 후 실행할 수 있습니다:

java -jar app.jar

이렇게 하면 lib/jar1.jarlib/jar2.jar가 클래스패스에 포함됩니다.

중요한 점은 Class-Path 옵션이 CLASSPATH 환경 변수와 –classpath 커맨드라인 옵션보다 우선한다는 것입니다.

5. lib/ext 디렉토리에 JAR 추가하기

Java 설치의 lib/ext 디렉토리에 JAR을 추가하는 것은 레거시 메커니즘이며, 이곳에 배치된 JAR 파일은 자동으로 클래스패스에 추가됩니다. 그러나 이는 대부분의 사용 사례에 대해 권장되는 접근 방식이 아닙니다.

이 JAR들은 외부 클래스 로더에 의해 로드되므로 CLASSPATH 환경 변수에 지정된 JAR이나 –classpath 또는 –cp 옵션에 지정된 디렉토리보다 우선 권한을 가집니다.

6. Eclipse/IntelliJ IDE에서 JAR 추가하기

EclipseIntelliJ와 같은 인기 있는 IDE를 사용하여 프로젝트의 클래스패스에 JAR 파일을 쉽게 추가할 수 있습니다.

자세한 지침은 IDE 별 문서를 참고하여 가장 정확하고 최신의 가이드를 확인할 수 있습니다.

7. 빌드 도구 사용하기

위의 방법들은 소규모 프로젝트에 잘 작동하지만, 대규모 및 소규모 프로젝트 모두 빌드 도구의 이점을 활용할 수 있습니다. MavenGradle은 이 목적에 사용되는 인기 있는 빌드 도구입니다.

프로젝트가 표준 Maven 프로젝트 구조를 따른다고 가정할 때, 의존성과 그 전이 의존성을 프로젝트에 포함시킬 수 있습니다:

<dependencies>
    <dependency>
        <groupId>com.example</groupId>
        <artifactId>example-library</artifactId>
        <version>1.0.0</version>
    </dependency>
</dependencies>

그런 다음 다음 명령을 실행합니다:

mvn package

Maven은 이러한 JAR을 클래스패스에 포함시켜 줍니다.

우리는 빌드 도구의 개념과 IDE를 조합하여 클래스패스에 JAR을 추가하는 작업을 더욱 간소화할 수 있습니다.

8. 결론

외부 라이브러리를 사용하는 것은 Java 개발의 기본 작업입니다.

JAR을 추가하는 방법은 프로젝트의 복잡성 및 요구 사항에 따라 달라집니다. 빠른 테스트나 스크립트의 경우 간단한 커맨드 라인 옵션으로 충분할 수 있습니다. 대규모 프로젝트의 경우 Maven이나 Gradle과 같은 강력한 도구를 사용하여 프로젝트 의존성을 관리해야 할 가능성이 높습니다.

원본 출처

You may also like...

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다