"Maven 종속성에서 NoClassDefFoundError"를 수정하는 방법
명령줄에서 Maven 프로젝트를 실행하려고 하면 NoClassDefFoundError가 발생할 수 있습니다. , 필수 종속성이 누락되었음을 나타냅니다.
이 오류의 주된 이유는 Maven이 빌드하는 JAR 파일에 종속성을 자동으로 포함하지 않기 때문입니다. 이 문제를 해결하려면 라이브러리 코드를 출력 JAR 파일에 "음영 처리"해야 합니다.
이를 달성하려면 maven-shade-plugin을 사용할 수 있습니다. POM에 추가하는 방법은 다음과 같습니다.
<code class="xml"><project> ... <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.5.2</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> </execution> </executions> </plugin> </plugins> </build> ... </project></code>
이 플러그인은 클래스와 라이브러리 종속성을 포함하는 "uber-JAR"을 자동으로 생성합니다.
플러그인이 등록되면 다음 명령을 실행할 수 있습니다.
<code class="sh">$ mvn package $ java -cp target/bil138_4-0.0.1-SNAPSHOT.jar tr.edu.hacettepe.cs.b21127113.bil138_4.App</code>
오류가 지속되면 Shade 플러그인을 추가로 구성하여 포함해야 하는 JAR을 지정하거나 실행 가능한 JAR 파일에 대한 Main-Class를 설정할 수 있습니다. 자세한 내용은 maven-shade-plugin 문서를 참조하세요.
위 내용은 명령줄에서 실행할 때 Maven 종속성에서 \'NoClassDefFoundError\'를 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!