maven pom中的内置变量及引用

前言

maven其实有很多内置变量供开发着在开发中使用,比如说basedir这变量,它指的是pom.xml文件所在的目录,下面我们一起来认识一下。

内置变量

变量名作用说明
basedir 、project.basedir项目的根目录即包含 pom.xml 文件的目录
project.groupId项目的 groupId
project.artifactId项目的 artifactId
project.version项目版本
project.build.finalName项目打包输出文件的名称默认为 artifactId + “-” + version
project.build.sourceDirectory项目的主源码目录默认为 /src/main/java/
project.build.testSourceDirectory项目的测试源码目录默认为 /src/test/java/
project.build.directory项目构建输出目录默认为 /target/
project.outputDirectory项目主代码编译输出目录默认为 /target/classes/
project.testOutputDirectory项目测试代码编译输出目录默认为 /target/testclasses/

除了以上列举以外,原则上pom文件中任何一 个结点都可以通过project.xxx.yyy的方式访问,但像标签下的属性可以直接访问。

引用

  1. 在pom文件进行访问
    通过

${变量名}

的方式进行访问,例如访问项目的根目录为

${basedir }

  1. 在配置文件yml中访问
    通过

@变量名@

方式进行访问,例如访问项目的根目录为

@basedir@

### Spring Boot项目的`pom.xml`配置示例及说明 #### 插入Spring Boot Maven插件 为了使Spring Boot项目能够被打包成可执行的JAR或WAR文件,需在`pom.xml`中引入`spring-boot-maven-plugin`插件。此操作通过向`<build>`标签下的`<plugins>`部分添加特定条目来完成[^2]。 ```xml <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> ``` #### 启用资源过滤 对于希望对位于`src/main/resources`目录内的资源实施动态替换的情况,可以激活资源过滤特性。这通常涉及设置`<resources>`节点并指定要处理的路径模式和编码方式等参数[^3]。 ```xml <build> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources> </build> ``` #### 使用自定义属性源工厂读取XML配置 当应用需要加载来自外部XML文件的数据作为环境变量或其他形式的配置项时,可以通过实现自己的`PropertySourceFactory`子类——比如`YmlPropertySourceFactory`——并将其实例化过程嵌入到`@ConfigurationProperties`注解所修饰的Java Bean之中,从而达到解析非标准格式(如XML)的目的[^4]。 ```java @ConfigurationProperties(prefix="example") public class ExampleConfig { } ``` 需要注意的是,在实际开发过程中应当依据具体需求调整上述代码片段;此外,尽管这里提到了如何利用`YmlPropertySourceFactory`处理XML文档,但在现代实践中更推荐采用`.properties`或`.yml`这样的纯文本型配置方案以简化维护工作量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值