Springboot项目两种启动方式
- jar包直接执行;
- 打包成war包,放到Tomcat服务下,启动Tomcat。
Springboot两种打包方式
打成Jar包部署
- 执行maven打包命令或者使用IDEA的Maven工具打包
## 移动至项目根目录,与pom.xml同级
mvn clean package
## 或者执行下面的命令 排除测试代码后进行打包
mvn clean package -Dmaven.test.skip=true
- 需要注意项目pom.xml文件中的打包类型
<packaging>jar</packaging>
- 启动命令:
启动之前先检查自己的pom.xml文件中是否有springboot的maven插件
java -jar target/day01_springboot.jar
- 启动时候可以配置jvm参数
java -Xmx80m -Xms20m -jar target/day01_springboot.jar
- 启动时候可以配置启动端口
java -jar target/day01_springboot.jar --server.port=9000
打成war包部署
- 执行maven打包命令或者使用IDEA的Maven工具打包,需要修改pom.xml文件中的打包类型。
<packaging>war</packaging>
- 注册启动类
创建 ServletInitializer.java,继承 SpringBootServletInitializer ,覆盖 configure(),把启动类Application 注册进去。外部 Web 应用服务器构建 Web Application Context 的时候,会把启动类添加进去。
//web.xml
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(DemoApplication.class);
}
}
- 执行打包操作,和前面打jar包方法是一样的
- 运行项目
- 拷贝到Tomcat的webapp下,启动Tomcat访问即可
- 因为访问地址不再是根目录了,所有路径中需要加入项目名称:http://localhost:8080/springboot/hello
路径中的springboot是因为整个项目所在的目录名为springboot,所以
/springboot
就成了contextpath。如果不写,就访问不到目录下的项目。