2

这是相关部分pom.xml

 <plugin>
           <groupId>com.google.code.maven-replacer-plugin</groupId>
            <artifactId>replacer</artifactId>
             <version>1.5.2</version>
            <executions>
              <execution>
             <phase>pre-package</phase>
                 <goals>
                    <goal>replace</goal>
                  </goals>
                 </execution>
                </executions>
                    <configuration>
                       <file>target/swagger/api.json</file>
                <regex>false</regex>
                <token>$BUILD_NUMBER$</token>
                <value>${project.version}</value>
                        </configuration>
 </plugin>

这是api.json文件

{
    "apiVersion": "$BUILD_NUMBER$"
    "developers": ["foo", "bar"]
} 

运行后mvn clean package,我看不到target/swagger/api.json被更新project.version

4

2 回答 2

1

确保您的插件声明在<build><plugins>

而且不在 <build><pluginManagement><plugins>

此外,如果您的项目是更大的 maven 项目的一部分,使用 ${project.build.directory} 而不是 target 更安全:

<file>target/swagger/api.json</file>

于 2017-04-19T07:55:35.920 回答
0
  1. 考虑一下要替换它的 Maven 构建阶段,在您使用 swagger f.ex 生成文档之前选择一个阶段。“验证”并将 swagger 文档生成设置为“编译”
    1. 将 $BUILD_NUMBER$ 兑换成 %BUILD_NUMBER%
    2. 考虑一下这种方式,您需要再次手动将值重置为 %BUILD_NUMBER%
于 2015-10-13T12:48:59.153 回答