×

Spring boot 基本部署

96
双鱼座的牛
2017.08.25 14:15* 字数 359

SpringBoot部署也是非常简单,首先,需要把打包输出的包由jar改为war,即修改pom.xml中packaging节点:

<packaging>war</packaging>

然后,修改pom.xml类,新增依赖:

tomcat依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency>

新增servlet依赖,否则修改配置类时可能会报错:

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.0.1</version>
</dependency>

然后,修改配置类(即main方法所在的类):

  1. 继承SpringBootServletInitializer类

  2. 覆盖configure(SpringApplicationBuilder application)方法

    @SpringBootApplication
    public class DeomoApplication extends SpringBootServletInitializer {

     @Override
     protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
         return application.sources(DemoApplication.class);
     }
    
     public static void main(String[] args) {
         SpringApplication.run(DeomoApplication.class, args);
     }
    

    }

然后进行发布(IntelliJ IDEA)

  1. 首先点击Build,菜单中选择Build Project进行编译
  2. 然后点击Build Artifacts


  3. 在弹出菜单中选择All Artifacts


此时,target目录会多出生成结果,一个war包和一个包内文件的文件夹,将其任意一个复制到tomcat目录的指定位置即可

补充
Ubuntu16.04默认位置为:/var/lib/tomcat8/webapps

比如创建demo文件夹:
mkdir demo

然后将生成文件夹内的文件复制到demo文件夹中

最后,在tomcat的server.xml配置文件的</host>节点前增加节点:

 <Context path="" docBase="/var/lib/tomcat8/webapps/demo" debug="0" reloadable="true" crossContext="true" />

其中 path为目录名,如www.abc.com/demo,则path="/demo",不输入则为根目录。
docBase为实际文件的物理路径。

注意,这只是最简部署方式,更好的方式为使用spring-boot-devtools进行热部署

日记本
Web note ad 1