🍅 作者简介:敖 广,CSDN2020博客之星亚军🏆、博客专家💪、个人成长专家✌
🍅 多年工作总结:Java学习路线总结,逆袭Java架构师
🍅 技术交流:定期更新Java硬核干货,不定期送书活动、助你实现技术飞跃
🍅 关注公众号【程序技术圈】,回复 面试题 ,获取《108道Java经典面试题总结(附答案)》pdf,复习方便,面试利器!
前段时间,在写的项目需要打包发布,放到Tomcat上面运行,结果本以为是很简单的事情,还是浪费了好一会...,本着面向google编程的思想,查了一些资料,迟迟无法解决。后面发现,SpringBoot项目打包和其他项目是不同的,需要对入口启动类进行一些调整。这里记录一下使用idea对SpringBoot项目进行打包的过程。
以打成war包为例
因为是SpringBoot项目,需要对启动类进行一些修改,否则就算打包完成,运行tomcat时会出现接口无法访问的问题
让启动类继承SpringBootServletInitializer类,重写configure方法,参考我的启动类文件,可以直接复制。DemoApplication是我的启动类名,根据需要自行修改为自己的启动类
@SpringBootApplication
public class DemoApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
//重写configure方法,否则在部署到tomcat时,接口将访问不到
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(DemoApplication.class);
}
}
修改后,找到Maven这个选项卡,双击运行Lifecycle下的package,等待打包完成。
打包完成后,控制台输出编译成功的提示信息
如果打包成功,项目的根目录下会生成一个target文件夹,文件夹中标红的war文件就是打包后生成的war包了
将这个war包放到tomcat的webapps目录下,运行tomcat
*在运行tomcat时,tomcat会将war包解压出来,相当于项目多了一层目录,tomcat运行完成时可以查看webapps这个目录。所以在访问我们的项目时,要加上这个层目录
例如我本来是访问http://localhost:8080/index,现在要访问http://localhost:8080/demo-0.0.1-SNAPSHOT/index,不过这个目录名还是可以改的,在tomcat运行解压完后,直接修改war文件解压出来的文件夹名称即可
-------------------------------------------------------------结束------------------------------------------------------------------
🍅 作者简介:敖 广,CSDN2020博客之星亚军🏆、博客专家💪、个人成长专家✌
🍅 多年工作总结:Java学习路线总结,逆袭Java架构师
🍅 技术交流:定期更新Java硬核干货,不定期送书活动、助你实现技术飞跃
🍅 关注公众号【程序技术圈】,回复 面试题 ,获取《108道Java经典面试题总结(附答案)》pdf,复习方便,面试利器!