春季启动战争

时间:2014-08-28 00:02:33

标签: gradle spring-boot

我倾向于在开发期间使用可运行的JAR,但我需要一个WAR来进行部署。

我已经关注this有关从JAR转换为WAR Spring Boot Gradle构建的文章。

但是,现在,每次我将构建从一个切换到另一个时,我必须对构建文件的特定部分进行注释和取消注释。

是否有更简洁的处理方式允许JAR和WAR构建?

2 个答案:

答案 0 :(得分:6)

构建部署的战争(即如果你添加了spring-boot maven插件)就像jar文件一样可以运行。

java -jar mywar.war

并且它从嵌入式服务器开始,您可以将相同的战争部署到您的服务器,然后它不使用嵌入式服务器。

答案 1 :(得分:0)

您可以在构建时指定pom或gradle构建文件。 因此,您可以为maven构建创建多个pom文件(一个用于jar包装,另一个用于war包装),也可以为gradle构建创建相同的文件。

例如,如果为jar包装设置pom.xml或build.gradle文件,并为war包装设置pomWar.xml或buildWar.gradle,则可以在命令下运行

[由maven打造jar包装] $ mvn clean install

[用gradle打造jar包装] $ gradle clean test bootRepackage

[由maven构建战争包装] $ mvn -f pomWar.xml clean install

[通过gradle构建战争包装] $ gradle -b buildWar.gradle clean test bootRepackage

war文件不能是其他项目的依赖。因此,如果您有其他项目依赖于您的spring启动项目,那么您希望在构建计算机上设置两个不同的构建文件