转载

Spring Boot Gradle 发布 war 到 tomcat

1. 确保你项目能编译通过,安装java jdk 环境填写环境变量

2. 添加SpringBootServletInitializer的子类重写configure

这点是很坑爹的,比如说发布PHP之类的,或者其他的,一般开发的跟发布的没什么东西不一样,spring非要加这个才行,我之前没加,就复制的war到tomcat webapps目录就不行

package contacts;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.SpringBootConfiguration;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

/**
 * Created by walle on 2018/3/20.
 */
@SpringBootConfiguration
public class ReadingListServletInitializer extends SpringBootServletInitializer {

    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder){
        return builder.sources(Application.class);
    }
}

Spring Boot Gradle 发布 war 到 tomcat

Application 是本来的启动,就是要增加一个SpringBootServletInitializer的子类。

3.安装Gradle

这也是比较坑的,IntelliJ IDEA作为编辑器为什么没有什么Release的按钮,非要这么麻烦。搜索下载一个Gradle到本地,然后添加Gradle环境变量,确保在cmd的命令行中能使用Gradle

4. build.gradle 中增加 apply plugin : ‘war’

默认是jar,改成war

5. 在项目的目录下打开cmd,执行 gradle build

Spring Boot Gradle 发布 war 到 tomcat

顺利的话,你能在这看到一个war的文件。所有的东西都在war包里面了,包括依赖的jar包和什么css,模版之类的,你可以解压自己查看

6. 安装Tomcat

7.复制war文件到tomecat的webapps目录下

然后启动tomcat的服务,然后war会自动被解压,然后访问浏览器就能成功了。需要说明的是war放在任意一个地方,修改tomecat的conf的server.xml也可以指定到该目录,在host标签中加入这个context可以指定到具体的目录,war需要你自己压缩。这样访问http://127.0.0.1:8090/contacts/ 类似这样的URL也能访问你的项目了。

Spring Boot Gradle 发布 war 到 tomcat

1960

原文  http://www.waitingfy.com/archives/1960
正文到此结束
Loading...