内置属性
${basedir}
表示项目根目录,即pom.xml文件所在的目录
${version}
表示项目的版本
POM属性
${project.build.sourceDirectory}
:项目的主源码目录,默认为 src/main/java
${project.build.testSourceDirectory}
:项目的测试源码目录,默认为 src/test/java
${project.build.directory}
:项目构建输出目录,默认为 target/
${project.outputDirectory}
:项目主代码编译输出目录,默认为 target/classes
${project.testOutputDirector}
:项目测试代码编译输出目录,默认为 target/test-classes/
${project.groupId}
:项目的 groupId
${project.artifactId}
:项目的artifactId
${project.version}
:项目的 version ,与 ({version} 等价
`){project.build.finalName} :项目打包输出文件的名称,默认为
({project.artifactId}-){project.version}`
自定义属性[properties]
<properties>
<key>value</key>
</properties>
其他属性
Setting属性
读取setting.xml文件值 ${setting.localRepository}
java系统属性
读取java系统属性值${user.home}; mvn help:system
查看属性
环境变量属性
读取环境变量的属性值 ${env.JAVA_HOME} ; mvn help:system
查看所有环境变量属性
profile
- conf/setting.xml 配置全局profile
- .m2/setting.xml 配置当前用户profile
- pom.xml 配置项目profile
<profiles>
<profile>
<id>dev</id>
<properties>
<db.password>admin123</db.password>
</properties>
</profile>
</profiles>
<activeProfiles>
<activeProfile>profileId</activeProfile>
</activeProfiles>
过滤
/src/main/resources/config.properties
db.password=${db.password}
<profiles>
<profile>
<id>dev</id>
<properties>
<db.password>admin123</db.password>
</properties>
</profile>
</profiles>
<build>
<resources>
<resource>
<directory>${project.basedir}/src/main/resources</directory>
<filtering>true</filtering> <!-- 过滤后才能将配置资源文件中的配置修改掉 -->
</resource>
</resources>
</build>
mvn clean package -Pdev //成功替换
- 可以定义参数配置替换所有的js、css文件