【问题标题】:Maven resource filter not working [duplicate]Maven资源过滤器不起作用[重复]
【发布时间】:2016-11-07 12:07:30
【问题描述】:

我正在尝试利用 Maven 的 (v3) 资源过滤功能将我的application.properties 文件中的一些变量替换为我的pom.xml 中的一个属性。 属性文件位于src/main/resources 并包含:

application.version=${project.version}

我的 pom 文件包含:

<project ...>
...
<version>1.0.0</version>
...
<build>
  <resources>
    <resource>
        <directory>src/main/resources</directory>              
        <filtering>true</filtering>
    </resource>
  </resources>
  ...
</build>

当我运行目标(通过 eclipse 运行配置)clean process-resources package 并查看target/classes 中的属性文件时,没有任何变化……值保持不变。

【问题讨论】:

  • 一切似乎都很好,即使在 Eclipse 中运行也应该替换它。您是否尝试从命令行运行它,作为双重检查?此外,您不需要运行process-resources 然后运行package,运行package 它已经运行process-resources 和任何前面的阶段。
  • 是的,也试过了……不走运。
  • 我怀疑这与我的构建插件有关:spring-boot-maven-plugin

标签: java maven resources filtering


【解决方案1】:

找到了解决方案。由于我使用的是spring-boot-starter-parent,因此属性变量需要不同的语法。您必须使用@...@ 而不是${...}。这是我使用的参考:https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-1.3-Release-Notes#maven-resources-filtering

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-25
    • 2016-07-29
    • 1970-01-01
    • 2016-08-16
    • 1970-01-01
    • 2019-09-16
    • 2013-12-21
    • 1970-01-01
    相关资源
    最近更新 更多