從 C#/MSBuild 角度快速上手 Maven:Java 构建工具入門教學與實務指南
Copyright Notice: This article is an original work licensed under the CC 4.0 BY-NC-ND license.
If you wish to repost this article, please include the original source link and this copyright notice.
Source link: https://v2know.com/article/1259
以下是入門 Maven 的建議路徑,結合您熟悉的 C#/MSBuild 視角,協助快速掌握這個 Java 構建工具:
1. 認識 Maven
定位:
類似 C# 世界中的 MSBuild,負責「專案建置、依賴管理、打包、部署」等工作。
核心概念:
-
Project Object Model (POM): 每個 Maven 專案的
pom.xml
記錄了專案資訊、依賴、建置流程。 -
座標 (Coordinates): 以
groupId:artifactId:version
來定位一個套件。 -
生命周期 (Lifecycle): 預設包含
compile → test → package → install → deploy
等階段,每階段由相對應的插件(plugin)完成。 -
倉庫 (Repository): 本地與遠端(如 Maven Central)分層的依賴套件下載/緩存機制。
2. 安裝與基本指令
-
安裝 JDK 8+ → 設定
JAVA_HOME
。 -
安裝 Maven → 設定
MAVEN_HOME
,將bin
加入PATH
。
常用指令:
mvn -v # 確認版本
mvn clean # 清理 target 輸出
mvn compile # 編譯
mvn test # 執行測試(若有測試)
mvn package # 打包 (jar/war)
mvn install # 安裝到本地倉庫 (~/.m2/repository)
3. pom.xml 範例
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>demo-app</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.36</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
4. 與 C# 的類比
C# / .NET | Java / Maven |
---|---|
.csproj / .sln |
pom.xml |
NuGet 套件 | Maven 依賴 (Dependencies) |
MSBuild 目標 | Maven Lifecycle + Plugins |
dotnet build |
mvn compile/package |
obj/bin 輸出 |
target/ |
appsettings.json 等資源 |
src/main/resources/ |
5. 學習資源
-
官方文件:https://maven.apache.org/guides/index.html(最權威)。
-
入門教程:搜尋「Maven 教學」「Maven tutorial」,挑選適合的語言與風格。
-
範例專案:先從簡單的「Hello World」或「單一模組」開始,逐步加入依賴和插件。
-
練習:用您的 Java Web 專案(如之前提到的
pom.xml
)來修改依賴、升級插件、打包 WAR 等操作。 -
IDE 支援:若使用 IntelliJ IDEA/Eclipse,內建 Maven 工具,能視覺化
pom.xml
、自動下載依賴、直接執行建置。
6. 延伸與實務
-
多模組專案 (
<modules>
): 類似 C# 的多個子專案組合 solution。 -
Profile: 針對不同環境(dev/test/prod)套用不同設定。
-
CI/CD 整合: 與 Jenkins、GitHub Actions 等結合,在服務器上自動執行
mvn package
。
常用插件:
-
maven-surefire-plugin
:單元測試 -
maven-jar-plugin
/maven-war-plugin
:打包成 JAR 或 WAR -
maven-dependency-plugin
:檢視、複製依賴
掌握以上基礎後,Maven 就像是在 C# 里的 MSBuild / NuGet 那般順手。
建議多動手實作,加深對生命周期與插件運作方式的理解。
祝學習順利!
This article was last edited at