Spring Boot Maven插件-重命名原始JAR

时间:2018-08-14 20:42:00

标签: java spring maven spring-boot spring-boot-maven-plugin

当我使用Spring Boot Maven插件构建项目时,我得到两个jar文件:foo.jarfoo.jar.original。我知道我可以使用fileName来调用重新打包的文件,但是我要做的是重命名原始文件。我想要foo.jar(重新包装)和original-foo.jar(原始),因为我想弄清楚哪一个是原始的,但是我需要将文件保存为.jar才能与管道工具一起使用。我该怎么办?

2 个答案:

答案 0 :(得分:1)

.original后缀是用org.springframework.boot.loader.tools.Repackager.getBackupFile()方法硬编码的,因此除非您派生自己的Spring Boot Maven插件版本,否则您将无法使用original-前缀来替换它。 :

/**
 * Return the {@link File} to use to backup the original source.
 * @return the file to use to backup the original source
 */
public final File getBackupFile() {
    return new File(this.source.getParentFile(), this.source.getName() + ".original");
}

答案 1 :(得分:0)

嗨,您可以使用其他Maven插件来实现这一点,我正在使用maven-antrun-plugin

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>
                <execution>
                    <phase>package</phase>
                    <configuration>
                        <target>
                            <copy file="${project.build.directory}/${project.build.finalName}.jar.original"
                                  tofile="${project.build.directory}/${project.build.finalName}.bazzz" />
                        </target>
                    </configuration>
                    <goals>
                        <goal>run</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

然后它将原始文件复制到其他名称

-rw-r--r--   1 ming  staff     140317 May 15 16:40 test-0.0.1-SNAPSHOT.bazzz
-rw-r--r--   1 ming  staff     140317 May 15 16:40 test-0.0.1-SNAPSHOT.jar.original