Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gradle 春靴大战_Gradle_Spring Boot - Fatal编程技术网

Gradle 春靴大战

Gradle 春靴大战,gradle,spring-boot,Gradle,Spring Boot,我倾向于在开发过程中使用runnable JAR,但我需要一个WAR来进行部署 我关注了一篇关于将JAR转换为WAR Spring Boot Gradle构建的文章 但是,现在,每次我从一个构建切换到另一个构建时,我都必须对构建文件的特定部分进行注释和取消注释 有没有一种更干净的方法来处理JAR和WAR构建呢?获取用于部署的构建的WAR(如果您添加了spring boot maven插件)与JAR文件一样可以运行 java -jar mywar.war 从嵌入式服务器开始,你可以在你的服务器上

我倾向于在开发过程中使用runnable JAR,但我需要一个WAR来进行部署

我关注了一篇关于将JAR转换为WAR Spring Boot Gradle构建的文章

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


有没有一种更干净的方法来处理JAR和WAR构建呢?

获取用于部署的构建的WAR(如果您添加了spring boot maven插件)与JAR文件一样可以运行

java -jar mywar.war

从嵌入式服务器开始,你可以在你的服务器上部署同样的war,然后它就不用嵌入式服务器了

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

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

[maven构建jar打包] $mvn清洁安装

[由gradle构建jar包装] $gradle清洁测试引导重新打包

[maven制作战争包装] $mvn-f pomWar.xml干净安装

[gradle制作战争包装] $gradle-b buildWar.gradle清洁测试引导重新打包


war文件不能是其他项目的依赖项。因此,如果您有其他项目依赖于您的spring boot项目,那么在这种情况下,您需要在构建机器上设置两个不同的构建文件,如上文所述

,因为直到一位同事告诉我之前,我一直不理解它,所以我会将其重新表述为“对于SpringBoot生成的jar,您不需要tomcat;它已经是一个可运行的应用程序”