山西住房与城乡建设厅定额网站,电脑系统7怎么打开wordpress,wordpress 查看图片,wordpress主题集成插件引言
Java Web 开发中#xff0c;Tomcat 是最常用的 Servlet 容器#xff0c;而项目类型通常分为 Maven 管理#xff08;依赖自动处理、多模块聚合#xff09; 和 非 Maven 纯手工管理#xff08;手动引入 jar 包、配置项目结构#xff09;。本文覆盖 两种项目类型 的 T…引言
Java Web 开发中Tomcat 是最常用的 Servlet 容器而项目类型通常分为 Maven 管理依赖自动处理、多模块聚合 和 非 Maven 纯手工管理手动引入 jar 包、配置项目结构。本文覆盖 两种项目类型 的 Tomcat 部署全流程从 IDEA 配置到问题排查手把手教你打通开发到运行的闭环解决 90% 部署痛点
一、环境准备通用基础
1. 核心环境
JDK确保安装 JDK 1.8示例用 1.8 Oracle OpenJDK通过 java -version 验证。Tomcat本地安装 Tomcat 8.5如 apache-tomcat-8.5.29记住安装目录后续配置用。IDEA旗舰版或社区版社区版需手动配置部分功能本文以旗舰版为例。
二、场景 1Maven 多模块 Java Web 项目部署
1. 项目特征
含 pom.xml通过 Maven 管理依赖和多模块如父模块 hami_parent 子模块 hami_protal。构建流程clean → install 自动编译、打包适合复杂聚合项目。 依次为每个部分添加本地tomcat-server 修改名字热部署端口号jdk都不要填错 这里添加相应的 点击apply -ok 运行tomcat 2Maven 构建生成 War 包
右侧打开 Maven 面板找到父模块如 hami_parent [root] 先双击 Lifecycle → clean清理旧构建产物。再双击 Lifecycle → install编译代码 → 打包成 war → 安装到本地仓库。 控制台输出 BUILD SUCCESS 后检查子模块 target 目录生成 xxx.war 和 xxx.war exploded部署用解压包。
3将生成的war包与jar包一并复制到tomcat的webapps路径下 4配置server.xml文件
将下面的代码插入到server.xml文件中,注意这是我们自定义的Service,要与 自带的分开防止嵌套 Service nameCatalina1!-- 每个项目的端口号也要进行区分保证不被占用 --Connector port8083 protocolHTTP/1.1connectionTimeout20000redirectPort8443 URLEncodingUTF-8/!-- 这里的AJP端口同样也要进行区分 --Connector port8011 protocolAJP/1.3 redirectPort8443 secretRequired/Engine nameCatalina1 defaultHostlocalhostRealm classNameorg.apache.catalina.realm.LockOutRealmRealm classNameorg.apache.catalina.realm.UserDatabaseRealmresourceNameUserDatabase//RealmHost namelocalhost appBasewebappsunpackWARstrue autoDeploytrueValve classNameorg.apache.catalina.valves.AccessLogValve directorylogsprefixlocalhost_access_log suffix.txtpattern%h %l %u %t quot;%rquot; %s %b /!-- 这里是想要部署的对应项目的名称 --Context docBasehami_console-1.0-SNAPSHOT path/ reloadabletrue//Host/Engine/ServiceService nameCatalina2!-- 每个项目的端口号也要进行区分保证不被占用 --Connector port8084 protocolHTTP/1.1connectionTimeout20000redirectPort8443 URLEncodingUTF-8/!-- 这里的AJP端口同样也要进行区分 --Connector port8012 protocolAJP/1.3 redirectPort8443 secretRequired/Engine nameCatalina1 defaultHostlocalhostRealm classNameorg.apache.catalina.realm.LockOutRealmRealm classNameorg.apache.catalina.realm.UserDatabaseRealmresourceNameUserDatabase//RealmHost namelocalhost appBasewebappsunpackWARstrue autoDeploytrueValve classNameorg.apache.catalina.valves.AccessLogValve directorylogsprefixlocalhost_access_log suffix.txtpattern%h %l %u %t quot;%rquot; %s %b /!-- 这里是想要部署的对应项目的名称 --Context docBasehami_file-1.0-SNAPSHOT path/ reloadabletrue//Host/Engine/ServiceService nameCatalina3!-- 每个项目的端口号也要进行区分保证不被占用 --Connector port8085 protocolHTTP/1.1connectionTimeout20000redirectPort8443 URLEncodingUTF-8/!-- 这里的AJP端口同样也要进行区分 --Connector port8013 protocolAJP/1.3 redirectPort8443 secretRequired/Engine nameCatalina1 defaultHostlocalhostRealm classNameorg.apache.catalina.realm.LockOutRealmRealm classNameorg.apache.catalina.realm.UserDatabaseRealmresourceNameUserDatabase//RealmHost namelocalhost appBasewebappsunpackWARstrue autoDeploytrueValve classNameorg.apache.catalina.valves.AccessLogValve directorylogsprefixlocalhost_access_log suffix.txtpattern%h %l %u %t quot;%rquot; %s %b /!-- 这里是想要部署的对应项目的名称 --Context docBasehami_protal-1.0-SNAPSHOT path/ reloadabletrue//Host/Engine/Service 5启动tomcat 发现我们的端口号启动成功 并且 webapps目录下生成了相应的war,jar包目录现在我们就可以 url直接访问我们的项目 这就说明部署成功了
三、场景 2非 Maven Java Web 项目部署以 BookShop 为例 1. 项目特征
无 pom.xml手动管理 jar 包如 commons-codec-1.9.jar 放 WEB-INF/lib。需手动配置项目结构、依赖、Web 模块适合简单 Demo 或旧项目迁移。
2. 关键配置步骤
1Project Structure 全流程配置
打开 File → Project Structure按以下标签逐步配置
① Project 标签基础环境
Name项目名如 BookShop。SDK选 JDK 1.8。Language level选 8 - Lambdas, type annotations。
② Modules 标签模块与依赖
选项目模块如 BookShop Sources标记 src 为源码目录蓝色test 为测试目录绿色可选。Dependencies 点击 → JARS or directories引入 WEB-INF/lib 下的所有 jar 包如 commons-codec-1.9.jar、mysql-connector-java-5.1.5.jar。
③ Facets 标签Web 模块识别
点击 → Web关联项目的 web.xml路径WebContent/WEB-INF/web.xml 确认 Deployment Descriptors 中 web.xml 路径正确。配置 Web Resource Directories如 WebContent 目录作为静态资源根路径。
④ Artifacts 标签部署产物配置
点击 → Web Application: Exploded → From Modules...选项目模块如 BookShop 生成 BookShop:war exploded解压后的 Web 应用目录用于 Tomcat 部署。检查 Output Layout确保 WEB-INF/classes编译输出和 WEB-INF/libjar 包已包含。 选中自己的项目 2Tomcat Server 配置与 Maven 项目类似
顶部 Run → Edit Configurations → 新建 Tomcat Server → Local Server 标签同 Maven 项目选 Tomcat 目录、JDK、端口。Deployment 标签 点击 → Artifact选 BookShop:war exploded非 Maven 项目的解压部署包。 热部署同 Maven 项目选 Update classes and resources。
(3启动验证
启动 Tomcat 后访问 http://localhost:8085/BookShop/路径与 Application context 一致验证页面或接口。 3.将项目部署到tomcat 在idea部署项目之后会产生一个classes文件夹找到里面的_war_exploded文件夹 复制到tomcat的webapps里 配置server.xml文件 Service nameCatalina1!-- 每个项目的端口号也要进行区分保证不被占用 --Connector port8088 protocolHTTP/1.1connectionTimeout20000redirectPort8443 URLEncodingUTF-8/!-- 这里的AJP端口同样也要进行区分 --Connector port8010 protocolAJP/1.3 redirectPort8443 secretRequired/Engine nameCatalina1 defaultHostlocalhostRealm classNameorg.apache.catalina.realm.LockOutRealmRealm classNameorg.apache.catalina.realm.UserDatabaseRealmresourceNameUserDatabase//RealmHost namelocalhost appBasewebappsunpackWARstrue autoDeploytrueValve classNameorg.apache.catalina.valves.AccessLogValve directorylogsprefixlocalhost_access_log suffix.txtpattern%h %l %u %t quot;%rquot; %s %b /!-- 这里是想要部署的对应项目的名称 --Context docBaseqcby2502_war_exploded path/ reloadabletrue//Host/Engine/Service 启动tomcat查看日志 8088端口启动成功 验证 部署成功了
四、总结
Maven 项目依赖管理便捷适合复杂多模块通过 clean/install 自动构建部署流程更标准化。非 Maven 项目需手动配置依赖和结构适合简单场景或旧项目重点关注 Facets 和 Artifacts 配置。 无论哪种类型掌握 Tomcat 热部署 和 Project Structure 核心配置 是关键遇到问题先检查日志IDEA 控制台 Tomcat catalina.out结合本文解决方案部署效率直接拉满