> Java > java지도 시간 > 외부 라이브러리로 JAR 파일을 실행하고 \'java.lang.ClassNotFoundException\'을 방지하는 방법은 무엇입니까?

외부 라이브러리로 JAR 파일을 실행하고 \'java.lang.ClassNotFoundException\'을 방지하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2024-11-03 20:45:03
원래의
242명이 탐색했습니다.

How to Run a JAR File with External Libraries and Avoid

확장 클래스 경로 옵션을 사용하여 "java -jar MyFile.jar" 호출

외부 라이브러리를 통합하고 직면하는 컴파일된 JAR 파일을 실행하려고 할 때 "java.lang.ClassNotFoundException"인 경우 Java 실행 프로세스의 기본 사항을 이해하는 것이 중요합니다.

Java는 클래스 경로 지정을 위한 두 가지 옵션을 제공합니다.

  • -jar: JAR 포함 파일 및 해당 매니페스트에 정의된 클래스 경로.
  • -cp: 모든 종속성을 포함하여 전체 클래스 경로를 수동으로 지정합니다.

잘못된 사용법

-jar과 -cp를 동시에 결합하려는 시도는 올바르지 않으며 앞서 언급한 오류가 발생합니다.

해결 방법

이 문제를 해결하는 데는 두 가지 유효한 접근 방식이 있습니다.

1. 매니페스트 정의 클래스 경로:

  • 필요한 클래스 경로를 지정하는 JAR 내에 매니페스트 파일을 생성합니다.
  • java -jar을 사용하여 JAR을 실행하면 지정된 클래스가 자동으로 로드됩니다. 종속성.

2. 명시적 클래스 경로:

  • 기본 JAR 및 모든 외부 JAR을 포함하는 전체 클래스 경로를 정의하려면 java -cp를 사용하세요.
  • 명령줄에서 기본 클래스를 명시적으로 지정하세요.

예:

java -cp 'MyProgram.jar:libs/*' main.Main
로그인 후 복사

참고: dir/* 구문은 지정된 디렉터리의 모든 JAR 파일을 classpath.

추가 팁:

  • 매니페스트 정의 접근 방식의 경우 Ant의 JAR을 빌드하기 전에 원하는 클래스 경로로 매니페스트 파일을 동적으로 생성하는 작업입니다.
  • -jar 옵션이 더 편리한 경우 모든 종속성이 JAR 매니페스트에 포함되어 있는지 확인하세요.

위 내용은 외부 라이브러리로 JAR 파일을 실행하고 \'java.lang.ClassNotFoundException\'을 방지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿