IDEA 部署 WEB 项目的方式比较特别,它对每一套应用系统都新建了一份服务器配置,使得各个应用环境互不影响,且无需修改 Tomcat 原生配置 ${CATALINA_HOME}/conf/,保证了 IDEA 项目开发不影响服务器配置,减少服务器配置问题
第一种,项目打包类型为 ResidentManager:war exploded
- IDEA 部署步骤:
- 注意 Artifact 是 exploded 类型
- 将编译好的 JAVA 字节码与资源文件整理好,拷贝到: {项目工作空间}\out\artifacts\ResidentManager_war_exploded 文件夹下(默认)
- 新建一个文件夹以存放一份单独的服务器配置,默认为 C:\Users\Administrator.IntelliJIdea2017.1\system\tomcat\Unnamed_ResidentManager
- 拷贝 Tomcat 原生配置:将 {CATALINA_HOME}/conf/ 文件夹内容全部拷贝至 C:\Users\Administrator.IntelliJIdea2017.1\system\tomcat\Unnamed_ResidentManager\conf\
- 新建 XML 配置以链接项目资源:C:\Users\Administrator.IntelliJIdea2017.1\system\tomcat\Unnamed_ResidentManager\conf\Catalina\localhost\ResidentManager.xml
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/jiaopei"
docBase="F:\HelloWorld\code\ResidentManager\out\artifacts\ResidentManager_war_exploded" />
其中 docBase 指向第一步整理好的项目资源
6 . 在服务器启动之前,IDEA 将环境变量 {CATALINA_BASE} 设置为第二步新建的文件夹:C:\Users\Administrator.IntelliJIdea2017.1\system\tomcat\Unnamed_ResidentManager\
7 . 启动 Tomcat,其会自动读取环境变量 {CATALINA_BASE},进而找到第四步新建的文件,读取 XML 配置,加载项目资源
8 .至此,打开浏览器访问:http://localhost:8080/ResidentManager/
第二种,项目打包类型为 ResidentManager:war
IDEA 部署步骤:
- 注意 Artifact 类型不存在 exploded 关键字(打包成 war)
- 将编译好的 JAVA 字节码与资源文件打包为 war,导出至: {项目工作空间}\out\artifacts\ResidentManager_war\ResidentManager_war.war(默认)
- 新建一个文件夹以存放一份单独的服务器配置,默认为 C:\Users\Administrator.IntelliJIdea2017.1\system\tomcat\Unnamed_ResidentManager
- 拷贝 Tomcat 原生配置:将 {CATALINA_HOME}/conf/ 文件夹内容全部拷贝至 C:\Users\Administrator.IntelliJIdea2017.1\system\tomcat\Unnamed_ResidentManager\conf\
- 新建 XML 配置以链接打包好的项目 WAR 包:C:\Users\Administrator.IntelliJIdea2017.1\system\tomcat\Unnamed_ResidentManager\conf\Catalina\localhost\ResidentManager.xml
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/zhipei"
docBase="F:\HelloWorld\code\ResidentManager\out\artifacts\ResidentManager_war\ResidentManager_war.war" />
其中 docBase 指向第一步打包好的 war
6 . 在服务器启动之前,IDEA 将环境变量 {CATALINA_BASE} 设置为第二步新建的文件夹:C:\Users\Administrator.IntelliJIdea2017.1\system\tomcat\Unnamed_ResidentManager\
7 . 启动 Tomcat,其会自动读取环境变量{CATALINA_BASE},进而找到第四步新建的文件,读取 XML 配置,加载 war 包,由于 /conf/server.xml 配置的是 unpackWARs=”true”,即自动解压 war 包,因此会将 war 包内容解压至 {CATALINA_HOME}/webapps/ResidentManager/ (!注意是在 {CATALINA_HOME},即 Tomcat 安装目录下,此时类似于 Eclipse 将项目资源拷贝至 Tomcat 服务器下),然后 Tomcat 加载此文件夹下的项目资源
8 .至此,打开浏览器访问:http://localhost:8080/ResidentManager/