spring boot项目打包

1.三种常见的部署方式

1)搞成groovy源码,需要手写产生,可以部署于Cloud Foundry(paas服务/云环境)上和容器中(docker)

2)搞成jar包,可以由maven、gradle或者是spring boot CLI搞,出了不能往java应用服务器(tomcat等)中部署以外其他地方基本上都可以部署

3)搞成war包,可以由maven或者是gradle搞,可以往云环境和javaweb应用服务器中部署

 

2.各部署方式操作细节

1)搞war包

着重介绍maven:

 第一步:

 修改pom.xml文件,把packaging元素的值改为war

<packaging>war</packaging>

第二步:

新建一个SpringBootServletInitializer的子类,并重写configure方法。

之所以要这么搞,是因为war包想要正常启动的话,需要war包中包含启动spring MVC dispatcherServlet的配置文件的话(web.xml文件或者是servlet的初始化文件),那么war是没法正常使用的。针对这个问题,spring boot提供了一个类--SpringBootServletInitializer ,这个类是spring的WebApplicationInitializer类的实现,这个类可以把相应的servlet都注册为spring bean绑定到servlet容器中。这样war包就可以正常启动了。

configure方法的重新是为了修改注册的配置类(父类没有加载任何spring配置类):

//重写configure,注册启动类,然后由启动类注册其他配置类

@Override

protected SpringApplicationBuilder configure(

        SpringApplicationBuilder builder) {

    return builder.sources(this.getClass());

}

第三步:

完成了第二步配置之后,第三步就很简单了,直接利用maven工具打包就行了。如果是idea:

 

直接package就阔以咯。

当然也可以用maven命令进行打包:$ mvn package即可。

操作完后,会在target生成相应的war包。

2)搞jar包

如果用idea打包,会比上面的war包多了一步操作,需要:

<plugin>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-maven-plugin</artifactId>

</plugin>

在pom.xml文件中添加如下内容,引入maven打包插件才行,不然不会把依赖库打入jar包中。

 

注:在程序只有一个主类时,不需要再pom文件中指明主类位置,因为maven在打包时自动去找main方法。当然如果main方法被你干掉了,就会报错啦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值