Spring Boot入门(第三十六章):部署

1、制作war包

修改pom.xml,把packaging由原来的jar改成war

如果工程出现如下错误

按照错误说明,更新工程的maven配置。

错误消失后,我们开始打war包。

在下载完maven打包需要的依赖后,我们可以看到工程target目录生成了我们需要的war包。

2、Tomcat部署

下载一个Tomcat,我们将Tomcat里面webapps目录下的文件夹全部删除,将刚打包好的war包复制进来,修改部署包名称为ROOT.war,然后启动Tomcat,过会Tomcat将自动将ROOT.war解压,启动完成,我们就可以使用Tomcat的端口访问应用了。

3、jar包运行

springboot提供了一个内嵌的Tomcat,使我们不需要额外的Tomcat,使用jar包的方式就能运行我们的应用。

首先我们将pom.xml里面的packaging改回jar,然后再次执行maven install。

这次,我们可以看到我们生成了一个新的jar包,但是这个jar包只有414kb,显然这个jar包并不能直接运行,因为他只将我们工程里面的代码进行了打包,而我们工程依赖的jar包并没有打入进来。

这里我们可以使用springboot提供的一个maven打包的插件,修改pom.xml文件


再次打包,可以看到我们这次打包出来的jar包变成了46.4M。

这时我们可以使用java -jar springboot-study-0.0.1-SNAPSHOT.jar 来运行我们的jar包了。运行成功后,我们可使用默认的8080端口访问。

4、指定Main Class

以前有过jar包开发经验的开发人员会觉得奇怪,在上面,我们并没有指定Main Class,但是我们的jar包能正常启动,这是为什么。因为我们的插件很智能,他发现我们的工程里面,只有一个Class有main方法,所以就将该类作为了Main Class。如果我们的工程里面有多个Class有main方法,这时我们的插件就不知道哪个该作为我们的Main Class了,所以我们必须明确指定Main Class,指定方式如下:

5、总结

使用springboot开发的应用,我们既可以使用传统的Tomcat容器部署方式,也可以使用新的jar包部署方式。使用Tomcat部署,我们一般将应用部署在根目录,当然这不是必须的,使用Tomcat的话,应用使用的是Tomcat的端口号,如果使用jar包,则是使用应用配置的端口号,如果没有配置,则默认为8080,我们可以使用server.port来进行配置。

代码:

https://github.com/www15119258/springboot-study/tree/branch36

你可能感兴趣的:(Spring Boot入门(第三十六章):部署)