前言:SpringBoot有的第一的话,打包非常的不熟练,所以就是我来搞下,让大家尽量少走弯路。
测试环境: IDEA,Maven,SpringBoot,Jsp(说明:SpringBoot内嵌Tomcat不支持对Jsp的扩展,所以需要借用外部的Tomcat来跑项目),tomcat9,在这里用的是Windows的tomcaat演示的(其实和Linux中tomcat效果是一样的)
1.SpringBoot打war包
a).首先你创建的项目是一个Web项目,然后打包方式是war(在这里不一步一步说明),首先pom中需要添加对外部tomcat的支持
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
b).然后就是确保本地项目能够成功的访问
c).更改程序入口类 Application.java 使其继承SpringBootServletInitializer,并重写configure方法(备注:Application是可以更换的)
@SpringBootApplication
public class Application extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(Application.class);
}
public static void main(String[] args) {
SpringApplication.run(Application.class,args);
}
}
d).重新打包为war包,然后放在tomcat运行(备注:建议使用tomcat9来运行,使用tomcat8的时候老会出现java没有主清单属性)
e).然后访问就可以了
2.SpringBoot打jar包
a).如图,不管用那种方式先打ajr包
b).然后放在tomcat中,并成功重新启动tomcat,然后CMD进入当前目录执行 java -jar 项目名称
在启动jar时候出现了一个问题:如图
解决方案:再pom中添加插件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>