pom文件中${project.basedir}的使用

网友投稿 577 2022-08-22


pom文件中${project.basedir}的使用

目录${project.basedir}的使用这块配置就是定义自己的项目目录结构Maven的六类属性,${project.basedir},${project.build.directory}内置属性POM属性自定义属性Settings属性java系统属性环境变量属性在依赖中使用pom变量在插件中使用pom变量自定义变量

${project.basedir}的使用

是 pom.xml 的根节点,project.basedir 就是根节点的下级节点,缺少配置的话就要自己定义一个。

这块配置就是定义自己的项目目录结构

Maven的六类属性,${project.basedir},${project.build.directory}

内置属性

主要有两个常用内置属性:basedir项目的根目录(包含pom.xml文件的目录),{basedir}项目的根目录(包含pom.xml文件的目录),basedir项目的根目录(包含pom.xml文件的目录),{version}项目版本

POM属性

用户可以使用该属性引用POM文件中对应元素的值

常用的POM属性包括:

${project.build.sourceDirectory}:项目的主源码目录,默认为 src/main/java${project.build.testSourceDirectory}:项目的测试源码目录,默认为 src/test/java${project.build.directory}:项目构件输出目录,默认为 target/${project.outputDirectory}:项目主代码编译输出目录,默认为 target/classes/${project.testOutputDirectory}:项目测试代码编译输出目录,默认为 target/test-classes/${project.groupId}:项目的 groupId${project.artifactId}:项目的 artifactIdproject.version:项目的version,与{project.version}:项目的 version,与project.version:项目的version,与{version}等价project.build.fianlName:项目打包输出文件的名称。默认为{project.build.fianlName}:项目打包输出文件的名称。默认为project.build.fianlName:项目打包输出文件的名称。默认为{project.artifactId}-${project.version}

自定义属性

用户可以在POM的元素下自定义Maven属性

Settings属性

用户使用settings.开头的属性引用 settings.xml 文件中XML元素的值

Java系统属性

所有Java系统属性都可以使用Maven属性引用

环境变量属性

所有环境变量都可以使用以env.开头的Maven属性引用

在依赖中 使用pom变量

${project.groupId}

part-a

${project.version}

${project.groupId}

part-b

${project-version}

在插件中使用pom变量

org.apache.maven.plugins

maven-surefire-plugin

2.5

${project.build.directory}/test-reports

自定义变量

com.mysql.jdbc.Driver

jdbc:mysql://localhost:3360/test

username

password>

Maven属性默认只有在POM中才会被解析,因此需要让Maven解析资源文件中的Maven属性。Maven用maven-resources-plugin处理资源文件。它默认的行为只是将项目主资源文件复制到主代码编译输出目录中,将测试资源文件复制到测试代码编译输出目录中。

Maven默认的主资源目录和测试资源目录的定义是在超级POM中,要为资源目录开启过滤,只要在此基础上添加一行filtering配置即可。

Filtering是maven resource插件的功能,作用是用环境变量,pom文件里定义的属性和指定文件里的属性替换属性文件的占位符。(超级pom在 apache-maven-3.3.9\lib\maven-model-builder-3.3.9.jar\org\apache\maven\model\pom-4.0.0.xml)


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Python图像处理丨带你掌握图像几何变换(python进行图像处理)
下一篇:【推荐】5个超级吃香的Python就业岗位汇总!(关于python的工作)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~