springboot 如何发布到外部的web服务器上

一般做springboot开发时都会直接使用内置的tomcat服务器,调试与发布都很方便。

但是不排除在某些情况下需要将spring boot工程打包成常规的war包,并发布到相应的web服务器。

要做到这点拢共分三步:

1、修改pom.xml中的配置,添加该项依赖,并将scope设置为provided。这样的作用是,覆盖关于tomcat的依赖,当进行打包操作时,不会把tomcat相关的包打进来。

<pre name="code" class="html">		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-tomcat</artifactId>
			<span style="color:#FF0000;"><scope>provided</scope></span>
		</dependency>

 


2、添加一个新的启动类,由于不采用@SpringBootApplication方式,而是发布到外部的webserver上,所以需要修改启动方式。

MagicCube.class是原来的SpringBootApplication注解的启动类,如果想要加载配置文件,则需要添加"classpath:applicationContext.xml"属性

public class ServletInitializer extends SpringBootServletInitializer{
    @Override  
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
       
    	return application.sources(MagicCube.class,"classpath:applicationContext.xml");  
    } 
}

3、使用mvn clean package -Dmaven.test.skip=true进行打包即可生成war包,将该war包copy到tomcat的webapp目录下即可正常使用。

这里有一个小问题是,在使用springboot时,url路径中没有工程目录,而打包到tomcat中后url中会比之前多一个工程名。造成测试和发布的URL不一致,这个问题,不知怎么解决。

<packaging>war</packaging>



  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值