1. 程式人生 > >maven中pom.xml常用配置

maven中pom.xml常用配置

pom.xml

該檔案用於管理:原始碼、配置檔案、開發者的資訊和角色、問題追蹤系統、組織資訊、專案授權、專案的url、專案的依賴關係等等。

1.1 基本內容

1.1.1 modelVersion

寫明pom版本,一般都是4.0.0

1.1.2 groupId

用於寫明組織名,如com.star.car

1.1.3 artifactId

用於寫明專案名

1.1.4 version

用於寫明專案版本

1.1.5 packaging

寫明打包機制,如war、rar、jar等

1.1.6 name

寫明專案描述名稱,可選

1.1.7 url

寫明網站等

1.2 parent

寫明父pom以及版本等

1.3 properties

定義在該檔案中的常量,常有定義編碼的常量
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

1.4 build

編譯配置

1.4.1 defaultGoal

定義預設目標

1.4.2 directory

定義輸出的檔案目錄

1.4.3 finalName

定義輸出的檔名

1.4.4 resources

定義使用的資原始檔

1.4.5 pluginManagement

定義使用的外掛,和dependencyManagement相似,只定義並未引用

1.4.5.1 plugin

定義外掛,使用artifactId和groupId還有版本定義,並使用configuration進行配置

1.4.6 plugins

使用已定義的外掛

1.5 profiles

定義當某條件觸發時,會啟用某profile

1.6 dependencyManagement

主要內容,定義所依賴的jar包

1.6.1 dependency

使用groupId、artifactId和version確定所依賴的jar等

1.6.1.1 scope

  • compile:預設的,在專案打包、編譯、執行、測試時都會用到,會隨著專案一起釋出
  • provided,類似compile,期望JDK、容器或使用者會提供這個依賴。如servlet.jar
  • runtime,只在執行時使用,如JDBC驅動、日誌包等,適用執行和測試階段
  • test,只在測試時使用,用於編譯和執行測試程式碼,如junit,不會隨專案釋出
  • system,類似provided,需要顯式提供包含依賴的jar,Maven不會在Repository中查詢它

1.6.1.2 exclusions

為解決依賴衝突的標籤,如果A依賴B,使用本標籤後可讓A強行解除對B的依賴