[b]在創建Maven工程后,插件配置中通常會用到一些Maven變量,因此需要找個地方對這些變量進行統一定義,下面介紹如何定義自定義變量。[/b]
在根節點project下增加properties節點,所有自定義變量均可以定義在此節點內,如下所示:
<!-- 全局屬性配置 -->
<properties>
<project.build.name>tools</project.build.name>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
[b]Maven內置變量說明:[/b]
[list]
[*]${basedir} 項目根目錄
[*]${project.build.directory} 構建目錄,缺省為target
[*]${project.build.outputDirectory} 構建過程輸出目錄,缺省為target/classes
[*]${project.build.finalName} 產出物名稱,缺省為${project.artifactId}-${project.version}
[*]${project.packaging} 打包類型,缺省為jar
[*]${project.xxx} 當前pom文件的任意節點的內容
[/list]
pom中對應元素的值。例如${project.artifactId}對應了<project><artifactId>元素的值,常用的POM屬性包括:
${project.build.sourceDirectory}:項目的主源碼目錄,默認為src/main/java/.
${project.build.testSourceDirectory}:項目的測試源碼目錄,默認為/src/test/java/.
${project.build.directory}:項目構建輸出目錄,默認為target/.
${project.build.outputDirectory}:項目主代碼編譯輸出目錄,默認為target/classes/.
${project.build.testOutputDirectory}:項目測試代碼編譯輸出目錄,默認為target/testclasses/.
${project.groupId}:項目的groupId.
${project.artifactId}:項目的artifactId.
${project.version}:項目的version,於${version}等價
${project.build.finalName}:項目打包輸出文件的名稱,默認為${project.artifactId}${project.version}.