首页 技术工具idea正文

IDEA创建的SpringBoot项目打包成war包并部署到服务器上

anan idea 2020-01-13 601 0 | 文章出自:https://www.jianshu.com/p/baf624064540

环境参数

开发环境:IntelliJ IDEA 2018.2.5 x64
JDK:java version "1.8.0_144"
服务器:Linux CentOS7

项目配置

  • 步骤一
    打开pom.xml查看打包方式(创建项目时选择的打包方式)


    如果是war方式,请直接跳到步骤三(项目打包),如果是jar就先改成war

步骤二
pom.xml添加一个dependency依赖(意思是tomcat是外部提供的)

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


步骤三
新建web.xml(添加过的也可以跳过这一步),新建的方式有两种,一种是直接创建文件夹和文件,另一种是通过IDEA来创建。这里选用第二种方法。

首先点击右上角的一个文件夹图标(Project Structure)

然后选择Modules,点击web(如果没有就点击左上角的加号新建一个),接着双击下方的Web Resource Directory中的第一项,这里是来设置webapp的路径,一般是自动设置好了的,直接点ok,然后点yes就好了。

最后点击上面的加号新建web.xml

这里要注意路径,要放到刚才创建的webapp文件夹内。点击ok,然后再点击ok,web.xml就创建好了。

步骤四
创建一个Initializer类继承自SpringBootServletInitializer,并重写configure方法且这个类应该与项目的Application在同一级目录下

Initializer类:

package com.example.wardemo;import org.springframework.boot.builder.SpringApplicationBuilder;import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;public class ServletInitializer extends SpringBootServletInitializer {

 @Override
 protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
                                 //Application的类名
     return application.sources(WardemoApplication.class);
 }}

项目打包

打包方式有两种,一直是使用命令行方式,另一种是通过maven来打包,同样的,这里采用较为简单的第二种方式。

Maven Projects > 项目名 > Lifecycle > 双击package开始打包

打包成功,默认war包路径在项目文件夹的target文件内

项目部署

把打包好的war包放到tomcatwebapps文件夹下,然后重启tomcat就可以了,tomcat会自动解压
注意项目启动后访问路径会发生变化,如之前的访问路径是/hello,那么此时就得加上webapps下解压的那个项目文件夹的名字,即/项目文件名/hello

查看日志

 日志文件默认的路径为:tomcat目录下的/logs/catalina.out文件中。

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论