>Java >java지도 시간 >명령줄에서 외부 종속성이 있는 JAR 파일을 실행하는 방법은 무엇입니까?

명령줄에서 외부 종속성이 있는 JAR 파일을 실행하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-16 13:18:15476검색

How to Run a JAR File with External Dependencies from the Command Line?

명령줄에서 사용자 정의 클래스 경로를 사용하여 JAR 파일 실행

외부 종속성에 의존하는 JAR 파일을 실행할 때 적절한 클래스 경로 지정 결정적이다. 이 문제는 지정된 클래스 경로 디렉터리(lib/*)를 사용하여 JAR 파일을 실행하려는 시도가 기본 클래스를 로드하거나 필요한 라이브러리를 찾는 데 실패할 때 발생합니다.

해결책은 -jar 옵션의 동작을 이해하는 데 있습니다. 사용되면 -cp로 지정된 다른 클래스 경로 설정을 대체합니다. 문서에는 다음과 같이 명시되어 있습니다.

"이 옵션을 사용하면 JAR 파일이 모든 사용자 클래스의 소스가 되며 다른 사용자 클래스 경로 설정은 무시됩니다."

따라서 다음을 포함합니다. JAR 파일의 일부로 종속성을 유지하거나 -jar를 사용하여 클래스 경로를 변경하는 것은 불가능합니다.

원하는 클래스 경로로 JAR 파일을 성공적으로 실행하려면 다음을 고려하십시오. 옵션:

옵션 1: JAR 매니페스트에 종속성 포함

  • 상대 경로를 사용하여 lib 디렉터리의 모든 필수 JAR 파일을 JAR 매니페스트에 추가합니다.
  • 예를 들어 대상 JAR 파일의 이름이 MyJar.jar이고 종속성이 다음에 있는 경우 lib/dependent1.jar, lib/dependent2.jar 등의 경우 매니페스트 항목은 다음과 같습니다.
Class-Path: lib/dependency1.jar lib/dependency2.jar

옵션 2: 명령줄에 클래스 경로 지정

  • JAR 파일과 클래스 경로를 모두 지정하려면 -cp 옵션을 사용하세요. 디렉토리:
java -cp MyJar.jar:lib/* com.somepackage.subpackage.Main

이 접근 방식은 기본 JAR 자체를 포함하여 필요한 모든 JAR 파일을 고려해야 합니다.

위 내용은 명령줄에서 외부 종속성이 있는 JAR 파일을 실행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.