java中的接口是类吗
334
2022-12-07
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容器:
<scope>provided
2.第二步添加servlet依赖:
3.第三步将打包的方式改成war包:
4.第四步修改打包的项目名称,使用build标签下的finalName标签修改:
二。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 SpringBootServletInitiqLAMOhalizer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(GunsApplication.class);
}
}
三。使用Maven工具打包:
四。发布到liunx服务器中:
连接到服务器,将打好的war包tomcat安装目录下的webapps,启动tomcat,自动解析war包生成相应的文件夹,打开浏览器输入ip:(tomcat启动端口号)就可以进行访问了。(注意:在这个例子中我删除了webapps目录下原有的ROOT文件夹,并且把项目的名称改成了ROOT,所以直接用ip+端口号就能直接访问,但是如果不是这么操作的话,需要在端口号后面再加上项目的名称即可访问。)
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~