SpringBoot中maven项目打成war包部署在liunx服务器上的方法
说明:Spring Boot由于内嵌了如Tomcat,Jetty和Undertow这样的容器,也就是说可以直接跑起来,用不着再像Spring项目还需要外置的Tomcat等容器来进行部署工作了,通过启动启动类就可以建立独立的Spring应用程序。Spring Boot部署在服务器上主要分为两种方式:一是打成jar包发布,二是打成war包发布,第一种方式只需要在该服务器中运行java -jar+部署项目的名称就可以启动(不要忘了.jar后缀名),操作比较简单,第二种方式操作比较复杂一点,并且是项目发布的常用打包方法,本编博客主要说明打成war包的方式如何部署到服务器中。
一。pom.xml文件配置
1.第一步我们需要移除Spring Boot项目中内置的tomcat容器,并配置外部的tomcat容器:
<!--移除内置的tomcat容器-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--因配置外部TOMCAT 而配置-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
2.第二步添加servlet依赖:
<!--servlet API依赖-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
3.第三步将打包的方式改成war包:
<packaging>war</packaging>
4.第四步修改打包的项目名称,使用build标签下的finalName标签修改:
<build>
<!--修改打包后项目名称-->
<finalName>ROOT</finalName>
</build>
二。Spring Boot启动类配置:
该步骤有两种实现方式
1.第一种实现方式,启动类继承SpringBootServletInitializer类并重写configure方法:
@SpringBootApplication(exclude = WebAutoConfiguration.class)
public class GunsApplication extends SpringBootServletInitializer {
private final static Logger logger = LoggerFactory.getLogger(GunsApplication.class);
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
// 注意这里要指向原先用main方法执行的Application启动类
return builder.sources(GunsApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(GunsApplication.class, args);
logger.info("GunsApplication is success!");
}
}
2.第二种实现方式,新建一个类继承SpringBootServletInitializer类并重写configure方法:(注意:该类要放在与启动类一致的目录下)
public class GunsServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(GunsApplication.class);
}
}
三。使用Maven工具打包:

四。发布到liunx服务器中:
连接到服务器,将打好的war包tomcat安装目录下的webapps,启动tomcat,自动解析war包生成相应的文件夹,打开浏览器输入ip:(tomcat启动端口号)就可以进行访问了。(注意:在这个例子中我删除了webapps目录下原有的ROOT文件夹,并且把项目的名称改成了ROOT,所以直接用ip+端口号就能直接访问,但是如果不是这么操作的话,需要在端口号后面再加上项目的名称即可访问。)

上一篇:IDEA生成可运行jar包(包含第三方jar包)流程详解
栏 目:JAVA代码
本文标题:SpringBoot中maven项目打成war包部署在liunx服务器上的方法
本文地址:http://www.codeinn.net/misctech/89771.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




