在资源文件中使用maven项目信息

use maven project information in resource files

我有这样的目录结构

.
├── pom.xml
└── src
    └── main
        ├── java
        │   └──
        └── resources
            └── plugin.yml

当然在 pom.xml 本身我可以使用 ${project.version} 获取项目版本,但我想知道是否有办法将这个数字注入 plugin.yml 文件,它的内容是:

name: PluginName
version: ${project.version}
description: Does plugin things

有没有办法让 maven 在构建时用项目的实际版本填充 version: 值?

先看看maven的过滤能力是否足够
参见“Apache Maven Resources Plugin/ Filtering

<build> 内添加

<resources>
  <resource>
    <directory>src/main/resources</directory>
    <filtering>true</filtering>
    <includes>
      <include>plugin.yml</include>
    </includes>
  </resource>
</resources>

然后你可以在src/main/resources/plugin.yml文件中使用${...}个变量。