Spring Boot 控件目标 JAR 文件名

新手上路,请多包涵

我的 Spring Boot 项目有构建描述:

 <build>

    <plugins>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.18.1</version>
            <dependencies>
                <dependency>
                    <groupId>org.apache.maven.surefire</groupId>
                    <artifactId>surefire-junit47</artifactId>
                    <version>2.18.1</version>
                </dependency>
            </dependencies>
        </plugin>

        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <version>${spring-boot.version}</version>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <mainClass>com.app.MainClass</mainClass>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>

    </plugins>
</build>

我希望我的 JAR 文件名在一个分支中为 app-1.0-SNAPSHOT.jar 在另一个分支中为 1.0-RELEASE.jar ,由 Jenkins 控制(使用某种 mvn 设置或 JVM 参数,例如 -D..

我可以这样做吗?

原文由 Ido Barash 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 606
2 个回答

您可以使用 maven 引导插件指定 artefact-name:

在这种情况下,它将是 NewJarName.jar

         <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <executions>
                <execution>
                    <id>repackage</id>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                    <configuration>
                        <finalName>NewJarName</finalName>
                    </configuration>
                </execution>
            </executions>
        </plugin>

原文由 sendon1982 发布,翻译遵循 CC BY-SA 4.0 许可协议

如此简单,在一个分支中,你有 pom.xml

<build>
  <finalName>app-1.0-SNAPSHOT</finalName>
</build>

在其他分支中,您有 pom.xml

<build>
  <finalName>1.0-RELEASE</finalName>
</build>

原文由 James Grey 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题