Spring Boot - Gradle 打包

Spring Boot项目需要打包部署到Linux上,使用的是Gradle 打包,并且需要把Spring Boot内置的Tomcat一起打包到项目中,在网上找了不少资料,终于是找到方法了,详情可以参考这篇文章:https://blog.csdn.net/stupid56862/article/details/86363292

Spring boot 打可执行 jar 包 , 默认情况下, 直接打包即可 :

gradle  build 

打包成功后,文件默认生成路径在项目 build/libs 路径下 ,如:

mmscm-web.jar 

启动 :

java -jar  mmscm-web.jar

可执行 war
可执行 war 包的意思是 : war 包中包含了应用的所有依赖 。你可以直接通过 java -jar 来启动 , 也可以将其部署到服务器(如 Tomcat )中 。
我们在使用 Spring Boot 开发的时候,并不需要额外配置服务器 , 因为 Spring Boot 默认使用了内嵌容器,如 Tomcat ,因此在打包的时候需要做额外处理 。

  1. 配置依赖和添加插件
dependencies {
	//添加依赖
     implementation 'org.springframework.boot:spring-boot-starter-web'
     providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat' // 如果你使用的是 Tomcat , 添加此行。
     //添加插件
     apply plugin: 'war'
}

上述 providedRuntime 确保内嵌的 Tomcat 服务器被打包到 WEB-INF/lib-provided 目录下。这样的好处是 : 如果你不想使用内嵌的 Tomcat,而是将 war 包部署到其他服务器的时候,内嵌服务器不会和外部服务器冲突. 即 java -jar 使用的是内嵌的 Tomcat 服务器,直接部署 war 到其他服务器的时候,不使用内嵌服务器 。

  1. 打包
gradle  build
  1. 启动
java -jar mmscm-web.war  // 打包成功后 ,切换到 build/libs目录 , 你可以直接启动.

文件打包成功后默认路径在项目 build/libs 目录下。
我们发现同正常的 war 包相比 , 可执行 war 的 WEB-INF 目录下多了 lib-provided 文件夹.

更加详细的内容请参考这个文章:https://blog.csdn.net/stupid56862/article/details/86363292

你可能感兴趣的:(Spring,Boot,-,Gradle,打包,gradle打包,Spring,Boot打包,Java,IDEA)