IDEA打war包:零基础一次打包成功
用IDEA打war包,不用复杂命令,全程图形化操作,吃透配置细节就能零报错,适配Tomcat服务器部署。很多人打包失败、部署后页面空白,问题到底出在哪?
绝大多数打包翻车,都不是代码bug,而是项目配置和输出路径没调好。IDEA默认的打包规则很“佛系”,不会自动适配web项目结构,稍有疏忽就会生成残缺war包,上传服务器后直接失效。
先理清核心前提,你的项目必须是Web项目。普通Java项目没有web.xml、WEB-INF核心目录,再怎么配置都打不出可用的war包。
第一步:配置项目工件,定义war包规则
打开IDEA顶部的File,找到Project Structure,这是打包的核心配置面板。左侧选中Artifacts,点击右上角的+号,选择Web Application: Archive,直接创建默认war工件,不要选exploded格式,这种是解压文件,无法用于服务器部署。
这里有个很多人踩的致命坑。之前帮同事调试项目,他反复打包五次,每次大小都只有300多KB,正常带依赖的项目至少几MB。仔细核对才发现,配置工件时没勾选Include in project build,导致项目编译时完全不加载依赖jar包,打包出来的文件只有空页面和配置文件。
坑,真的很隐蔽。
第二步:校正核心目录与依赖
确认WEB-INF目录位置正确,这是服务器识别项目的关键。必须保证classes文件夹存放编译后的class文件,lib文件夹放入所有第三方依赖包。如果IDEA自动生成的目录错乱,手动拖拽调整,把所有外部依赖全部添加到lib目录下。
如果项目有web.xml配置文件,要核对文件路径匹配项目结构,缺失或路径错误,部署后会出现404、服务启动失败的问题。纯注解式SpringBoot Web项目,可无需web.xml,不用额外配置。
第三步:执行打包命令
配置保存后,回到IDEA顶部菜单栏,点击Build,选择Build Artifacts。在弹出的窗口中,选中你创建的war工件,点击Build即可开始打包。
速度很快。小型项目几秒就能完成。
打包完成后,不用盲目找文件。war包会默认生成到项目根目录的out/artifacts文件夹里,直接打开文件夹就能看到完整的.war文件,文件名就是你配置的工件名称。
## 常见打包报错快速排查
- war包体积过小:百分百是依赖未打包,返回工件配置,检查所有依赖是否归入lib目录,是否开启项目构建包含工件
- 部署后页面空白:WEB-INF目录结构错误,或静态资源未被编译打包,重新校正目录层级,确保html、css、js文件被识别
- 启动报错类找不到:编译失败,先执行Build Project编译代码,无报错后再打包
很多人图省事,网上复制通用配置,反而越改越乱。IDEA打包没有万能模板,适配自己项目结构的配置,才是最稳的。
拿到war包后,直接上传到Tomcat的webapps目录,重启服务器即可完成部署。
了解更多百科知识请访问 百科