首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Maven 專案快速執行 Java Main 類的三種姿勢

     編輯:Java 相關知識

告別 IDE 依賴:命令列一鍵啟動 Main 方法

在 CI/CD、伺服器部署或無形介面環境中,透過 Maven 直接啟動含 main 方法的類別是必備技能。本文整理三種常用指令,涵蓋編譯、無參執行、帶參數執行。

前置條件

  • 專案為標準 Maven 結構(src/main/java)
  • 目標類別包含 public static void main(String[] args)
  • 已安裝 Maven 並配置環境變數

指令速查表

場景指令說明
僅編譯mvn compile將原始碼編譯至 target/classes,不執行
直接執行mvn exec:java -Dexec.mainClass="com.example.Main"使用 exec-maven-plugin 啟動主類,需類別路徑正確
傳遞參數mvn exec:java -Dexec.mainClass="com.example.Main" -Dexec.args="arg0 arg1 arg2"args 以空格分隔,會傳入 main(String[] args)

插件配置(可選優化)

在 pom.xml 中顯式宣告插件版本,避免版本衝突:

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>exec-maven-plugin</artifactId>
  <version>3.1.0</version>
  <configuration>
    <mainClass>com.example.Main</mainClass> <!-- 預設主類,命令列可覆蓋 -->
  </configuration>
</plugin>

配置後可簡化為 mvn exec:java 直接跑預設主類。

常見坑點與解法

  • ClassNotFound:確認已執行 mvn compile 或 mvn package,類別檔案存在。
  • 依賴缺失:執行階段需完整 classpath,exec:java 會自動載入 compile 作用域依賴;若用 java -cp 需手動拼接所有 jar。
  • 模組化專案:多模組時需在對應模組目錄下執行,或指定 -pl module-name。

替代方案

若需產出可獨立部署的 Fat JAR,建議使用 maven-shade-plugin 或 spring-boot-maven-plugin 打包後以 java -jar 執行,效能與攜帶性更佳。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved