【问题标题】:use maven project information in resource files在资源文件中使用maven项目信息
【发布时间】:2019-04-10 04:27:08
【问题描述】:

我有类似的目录结构

.
├── 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: 值?

【问题讨论】:

    标签: java maven maven-antrun-plugin


    【解决方案1】:

    先检查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 文件中使用${...} 变量。

    【讨论】:

    • 如何让它做一个文件而不是整个目录
    • @theonlygusti 好像仅限于一个文件夹,但是如果只有一个文件有要过滤的属性,那么只会修改那个文件。
    • 我刚用&lt;includes&gt;我发现this answer
    • @theonlygusti 很好发现。我已经编辑了答案以包含您的参考。
    • @theonlygusti 感谢您的编辑,比我的更完整。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-03
    • 1970-01-01
    相关资源
    最近更新 更多