Springboot项目打war包部署到Linux SpringBoot中maven项目打成war包部署在liunx服务器上的方法
有个程序员叫小钟 人气:0说明: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+端口号就能直接访问,但是如果不是这么操作的话,需要在端口号后面再加上项目的名称即可访问。)
加载全部内容