首頁 > Java > java教程 > 主體

從命令列運行時如何修復 Maven 依賴項上的'NoClassDefFoundError”?

Barbara Streisand
發布: 2024-10-25 09:07:02
原創
235 人瀏覽過

How to Fix

如何修正「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>
登入後複製

如果錯誤仍然存在,您可以進一步配置陰影外掛程式以指定應包含哪些JAR,或為可執行JAR 檔案設定Main-Class。請參閱 maven-shade-plugin 文件以獲取更多資訊。

以上是從命令列運行時如何修復 Maven 依賴項上的'NoClassDefFoundError”?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!