解决:如何利用IDEA将JavaWeb项目打包成war包,并发布到tomcat服务器上运行

  • 一·问题描述:
  • 二·解决方案:用图示举例说明
  • 方案一:打包测试版本,不是存档版本(也称:稳定版本、最终版本、发布版本等等)
  • 第一步:如图红圈部分,里面的红色out输出文件夹下面,只有编译文件。没有打包文件
  • 第二步:打开项目结构设置,找到红圈部分,此时红圈里面什么都没有
  • 第三步:打开项目结构设置,按照红圈顺序点击
  • 第四步:按照红圈顺序进行
  • 第五步:按照红圈顺序进行项目打war包
  • 方案二:打包存档版本(也称:稳定版本、最终版本、发布版本等等)(这个war包,可以直接放到tomcat的WebApp目录下,然后浏览器正确路径访问)
  • 方式一:打开项目结构设置,使用另外一种打包类型(要先将原来的打包的文件目录删掉):再按照红圈顺序进行
  • 方式二:打开项目结构设置,重新添加模块工件,并设置打包类型
  • 三·war包里面的具体目录结构截图:
  • 1.war包解压缩之后的目录结构,如图所示:
  • 2.核心WEB-INF目录结构:
  • (1)classes目录里面就是Java源码全部编译之后的存放位置
  • (2)lib目录就是该项目所有依赖外部jar包存放位置
  • (3)web.xml文件就是整个项目应用在服务器里面的引导配置文件
  • 四·总结:


一·问题描述:

1.该项目没有使用maven等管理工具,没法使用package命令,一键打包
2.IDEA中不知道如何将JavaWeb项目打包成war包

二·解决方案:用图示举例说明

方案一:打包测试版本,不是存档版本(也称:稳定版本、最终版本、发布版本等等)

第一步:如图红圈部分,里面的红色out输出文件夹下面,只有编译文件。没有打包文件

如何将一个java项目变成应该exe文件 如何将java项目打成war包_war

第二步:打开项目结构设置,找到红圈部分,此时红圈里面什么都没有

如何将一个java项目变成应该exe文件 如何将java项目打成war包_java_02


且此时IDEA上面的Build命令,里面的构建工件的命令也无法使用

如何将一个java项目变成应该exe文件 如何将java项目打成war包_war_03

第三步:打开项目结构设置,按照红圈顺序点击

如何将一个java项目变成应该exe文件 如何将java项目打成war包_tomcat_04


此时会弹出一个选项框,让你选择将要打包的模块,按照红圈顺序进行

如何将一个java项目变成应该exe文件 如何将java项目打成war包_idea_05

第四步:按照红圈顺序进行

如何将一个java项目变成应该exe文件 如何将java项目打成war包_idea_06

弄完就如图所示,再按照红圈顺序进行

如何将一个java项目变成应该exe文件 如何将java项目打成war包_tomcat_07


此时还是什么都没有,项目还没有被打包

如何将一个java项目变成应该exe文件 如何将java项目打成war包_war_08

第五步:按照红圈顺序进行项目打war包

如何将一个java项目变成应该exe文件 如何将java项目打成war包_tomcat_09


如何将一个java项目变成应该exe文件 如何将java项目打成war包_tomcat_10


结果如图所示,会多出一个artifacts文件目录,不是压缩包形态,因为IDEA已经自动解压了,方便开发人员测试使用。

如何将一个java项目变成应该exe文件 如何将java项目打成war包_tomcat_11

方案二:打包存档版本(也称:稳定版本、最终版本、发布版本等等)(这个war包,可以直接放到tomcat的WebApp目录下,然后浏览器正确路径访问)

方式一:打开项目结构设置,使用另外一种打包类型(要先将原来的打包的文件目录删掉):再按照红圈顺序进行

如何将一个java项目变成应该exe文件 如何将java项目打成war包_war_12


按照红圈进行,构建项目war包

如何将一个java项目变成应该exe文件 如何将java项目打成war包_java_13


如何将一个java项目变成应该exe文件 如何将java项目打成war包_javaweb_14


结果如图所示,红圈就是war包

如何将一个java项目变成应该exe文件 如何将java项目打成war包_idea_15

方式二:打开项目结构设置,重新添加模块工件,并设置打包类型

如何将一个java项目变成应该exe文件 如何将java项目打成war包_tomcat_16


如何将一个java项目变成应该exe文件 如何将java项目打成war包_javaweb_17


按照红圈顺序进行构建war包工件

如何将一个java项目变成应该exe文件 如何将java项目打成war包_tomcat_18


如何将一个java项目变成应该exe文件 如何将java项目打成war包_tomcat_19


结果如图所示:war包工件打包成功

如何将一个java项目变成应该exe文件 如何将java项目打成war包_idea_20

三·war包里面的具体目录结构截图:

1.war包解压缩之后的目录结构,如图所示:

如何将一个java项目变成应该exe文件 如何将java项目打成war包_tomcat_21


注意:
(1)相当于从JavaEE项目的web层根目录开始打包。

(2)项目编译打包之后的目录层级是与你项目层级架构一致的,但也有略微不同。那就是java源码编译之后不会直接存放在web层的根目录下面,而是会放在 “WEB-INF/classes/” 目录下面,然后从java源码的根包名路径开始存放。其他的各种资源目录层级就完全一致了。

(3)静态资源可以放WEB-INF目录里面,也可以放在web层根目录下面跟WEB-INF目录平级。

2.核心WEB-INF目录结构:

如何将一个java项目变成应该exe文件 如何将java项目打成war包_war_22

(1)classes目录里面就是Java源码全部编译之后的存放位置

如何将一个java项目变成应该exe文件 如何将java项目打成war包_java_23

(2)lib目录就是该项目所有依赖外部jar包存放位置

如何将一个java项目变成应该exe文件 如何将java项目打成war包_java_24

(3)web.xml文件就是整个项目应用在服务器里面的引导配置文件

如何将一个java项目变成应该exe文件 如何将java项目打成war包_java_25

四·总结:

其实这两种打包方案,本质都是一样的,只不过一种是压缩war包格式,一种是解压缩格式。而且都可以直接放到tomcat的WebApp目录下面,通过浏览器正确路径访问。