Maven 普通项目转为 Web 项目:完整步骤与配置解析
将普通 Maven 项目(Jar 打包)转为 Web 项目(War 打包)只需简单几步即可完成,核心是调整目录结构和打包方式。本文将详细介绍转换步骤、目录规范及常见问题解决。
核心转换步骤
修改打包方式为 War
在 pom.xml 中设置 <packaging> 为 war(默认是 jar),这是 Web 项目的标志性配置:
1 2 3 4 5 6 7
| <project> <groupId>com.example</groupId> <artifactId>my-webapp</artifactId> <version>1.0-SNAPSHOT</version> <packaging>war</packaging> <name>My Web Application</name> </project>
|
设置后,Maven 会按照 Web 项目的规则进行构建(如打包为 .war 文件)。
创建 Web 标准目录结构
Maven 对 Web 项目的目录结构有约定,需手动创建以下目录和文件:
1 2 3 4 5 6 7 8 9 10 11
| src/ └── main/ ├── java/ # 主程序源码(已有,无需修改) ├── resources/ # 配置文件(已有,无需修改) └── webapp/ # Web 资源根目录(新增) ├── WEB-INF/ # 受保护的 Web 目录(新增) │ └── web.xml # Web 应用配置文件(新增,核心) ├── index.jsp # 示例页面(可选) ├── css/ # 样式文件目录(可选) ├── js/ # 脚本文件目录(可选) └── img/ # 图片资源目录(可选)
|
webapp:Web 资源的根目录,打包后会作为 WAR 包的根目录。
WEB-INF:存放 Web 应用的配置文件(如 web.xml),该目录下的资源无法通过浏览器直接访问,安全性高。
web.xml:Web 应用的核心配置文件,定义 Servlet、过滤器、欢迎页等(Servlet 3.0+ 可注解配置,但建议保留基础配置)。
配置 web.xml(基础示例)
web.xml 是 Web 项目的标配,即使使用注解开发,也建议保留基础结构:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0">
<welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list>
</web-app>
|
验证转换结果
构建 WAR 包
执行打包命令,验证是否生成 .war 文件: