我倾向于在开发期间使用可运行的JAR,但我需要一个WAR来进行部署。
我已经关注this有关从JAR转换为WAR Spring Boot Gradle构建的文章。
但是,现在,每次我将构建从一个切换到另一个时,我必须对构建文件的特定部分进行注释和取消注释。
是否有更简洁的处理方式允许JAR和WAR构建?
答案 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启动项目,那么您希望在构建计算机上设置两个不同的构建文件