说明:java项目打包分为jar包、war包这两种。war包打包方式主要用于java web项目,jar包主要用于传统项目,SpringBoot默认是jar包打包方式,这是因为它内嵌了servlet容器,用来解析http协议并将响应的返回到前端页面。
一、jar包方式打包和部署
#使用场景:
一般如果是纯SpringBoot项目,并且用的是内嵌的servlet容器则直接打包成jar包,然后再部署。
#打包:
(1)在pom.xml添加Maven打包插件,具体如下:
spring-boot-maven-plugin
(2) 使用IDEA开发工具进行打包,点击左下侧的小窗口图标,右侧会出现Maven字样,点击它然后在弹出的框中选择package并双击即可打包,并在开发工具的target目录中找到相应的打包文件。
#部署:
打包完成后,在IDEA的中下部的选择terminal这个终端,如下图所示,并输入命令java -jar targetxxxx.jar
说明:xxx代表打包后的项目名,另外,也可用系统自带的终端,输入相关的命令进行部署启动。打包路径中路径名要注意,要除了空格、字母、数字外不允许输入其它字符,另外,最好不要用数字开头。
二、War包方式打包和部署
#使用场景:
如果还要通过外部的可配置Tomcat进行项目管理,方法就是在pom中引入如下依赖 spring-boot-start-tomcat ,这是需要将该项目打包成War包。
#打包:
(1)声明打包方式为War包。用<packaging></packaging>将SpringBoot项目默认的jar包方式修改为War形式,
把打包方式改成这样<packaging>war</packaging>,在<description>和<properties>两标签之间。
(2) 声明使用外部Tomcat服务器。
<!--2.声明使用外部提供的Tomcat--> <dependency> <groupId>org.srpingframework.boot</groupId> <artifactId>spring-boot-start-tomcat</artifactId> <scope>provided</scope> </dependency>
(3) 提供Spring Boot启动的Servlet初始化器。实例代码如下:
@ServletComponentScan //开启基于注解方式的Servlet组件扫描支持 @SpringBootApplication public class Chapter05Application extends SpringBootServletInitializr{ //3.程序主类继承SpringBootServletInitializer,并重写configure()方法 @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builer){ return builer.sources(Chapter05Application.class); } }
(4)步骤同上, 使用IDEA开发工具进行打包,点击左下侧的小窗口图标,右侧会出现Maven字样,点击它然后在弹出的框中选择package并双击即可打包,并在开发工具的target目录中找到相应的打包文件。
#部署
将打包好的项目复制到tomcat下的webapp目录(安装路径)下,执行bin目录中中的startup.bat命令启动war包项目。
注意:访问时,把要把项目的全名带上,还有SpringBoot版本要与部署的Tomcat的版本要能匹配的上。