專案管理與理解工具,超越 Ant 的建構腳本模式,提供專案物件模型 (POM)、依賴管理、標準化建構生命週期、插件生態。學習曲線陡峭但長期收益高。
D:\maven)JAVA_HOME → JDK 目錄MAVEN_HOME → Maven 解壓目錄PATH 追加 %MAVEN_HOME%\bin%MAVEN_HOME%\lib\maven.jar 內 defaults.properties:
maven.home.local = ${maven.home}/local
maven.repo.remote = https://repo1.maven.org/maven2, https://repo.maven.apache.org/maven2
%MAVEN_HOME%\bin\install_repo.bat %MAVEN_HOME%local repository 初始化本地倉庫(可略過,首次使用自動下載)maven.jar/org/apache/maven/messages/messages_zh_CN.properties 用 native2ascii 轉碼後覆蓋回原位> mkdir test && cd test
> maven genapp
# 選擇模板: default
# 輸入 groupId, artifactId, package 名稱
# 自動產生標準目錄結構
test/
├─ pom.xml ← 專案描述檔
├─ src/
│ ├─ main/
│ │ ├─ java/ ← 主程式碼
│ │ └─ resources/ ← 資源檔
│ └─ test/
│ ├─ java/ ← 測試程式碼
│ └─ resources/ ← 測試資源
└─ target/ ← 建構輸出
| 命令 | 用途 |
|---|---|
maven compile | 編譯主程式碼 |
maven test | 執行單元測試 |
maven jar | 打包 JAR |
maven war | 打包 WAR |
maven deploy | 部署至遠端倉庫 |
maven site | 生成專案文檔網站 |
maven clean | 清理 target 目錄 |
pom.xml 設定 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>maven dependency:tree 分析傳遞性依賴,使用 <exclusion> 排除