上一篇                     
               
			  如何在Java Web中新建Maven项目?
- 后端开发
- 2025-06-19
- 3708
 在JavaWeb中新建Maven项目:使用IDE(如IntelliJ或Eclipse)选择Maven项目模板,设置GroupId、ArtifactId和版本号,选择maven-archetype-webapp原型,完成后自动生成标准目录结构(src/main/webapp等),并在pom.xml中添加Servlet等依赖即可构建Web应用基础框架。
 
在JavaWeb开发中,使用Maven管理项目能显著提升依赖管理和构建效率,以下是详细操作步骤,基于IntelliJ IDEA(2025.3+版本)和Apache Maven 3.9+环境演示:
环境准备
-  安装JDK - 下载JDK 17+(Oracle官网或OpenJDK)
- 配置环境变量: JAVA_HOME = C:Program FilesJavajdk-17 Path追加 %JAVA_HOME%bin 
 
-  安装Maven - 下载Maven (官网)
- 解压后配置环境变量: MAVEN_HOME = D:apache-maven-3.9.6 Path追加 %MAVEN_HOME%bin 
- 验证安装:mvn -v输出版本信息即成功。
 
创建Maven项目
▶ 方式1:使用IDE创建(推荐)
- 打开IntelliJ IDEA → New Project
- 选择 Maven → 勾选 Create from archetype
- 使用Web模板: org.apache.maven.archetypes:maven-archetype-webapp 
- 填写项目坐标: GroupId: com.example ArtifactId: my-webapp Version: 1.0-SNAPSHOT 
- 配置Maven:选择本地安装的Maven路径
- 完成创建,等待依赖下载
▶ 方式2:命令行创建
mvn archetype:generate -DgroupId=com.example -DartifactId=my-webapp -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
生成目录结构:
my-webapp ├── src/main │ ├── resources │ └── webapp │ ├── WEB-INF │ │ └── web.xml │ └── index.jsp └── pom.xml
关键配置
修改pom.xml添加依赖
 
<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.example</groupId>
  <artifactId>my-webapp</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging> <!-- 打包为WAR格式 -->
  <dependencies>
    <!-- Servlet API -->
    <dependency>
      <groupId>jakarta.servlet</groupId>
      <artifactId>jakarta.servlet-api</artifactId>
      <version>6.0.0</version>
      <scope>provided</scope>
    </dependency>
    <!-- JSP支持 -->
    <dependency>
      <groupId>org.glassfish.web</groupId>
      <artifactId>jakarta.servlet.jsp.jstl</artifactId>
      <version>3.0.1</version>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <!-- 编译插件(JDK 17) -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.11.0</version>
        <configuration>
          <source>17</source>
          <target>17</target>
        </configuration>
      </plugin>
      <!-- 内嵌Tomcat插件(测试用) -->
      <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.2</version>
        <configuration>
          <port>8080</port>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project> 
目录补全(手动创建缺失目录)
src/main ├── java → 存放Java代码 ├── resources → 配置文件(如.properties) └── webapp → Web资源(HTML/JSP/静态文件)
编写测试代码
- 创建Servlet src/main/java/com/example/HelloServlet.java:package com.example; import jakarta.servlet.*; import jakarta.servlet.http.*; import java.io.*; 
public class HelloServlet extends HttpServlet {
protected void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
res.setContentType(“text/html”);
PrintWriter out = res.getWriter();
out.println(“

Maven Web项目运行成功!
“);
}
}
2. 配置Servlet `src/main/webapp/WEB-INF/web.xml`:
```xml
<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee 
                             https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd"
         version="6.0">
  <servlet>
    <servlet-name>HelloServlet</servlet-name>
    <servlet-class>com.example.HelloServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>HelloServlet</servlet-name>
    <url-pattern>/hello</url-pattern>
  </servlet-mapping>
</web-app>构建与部署
▶ 本地运行
mvn tomcat7:run # 通过Maven插件启动Tomcat
访问 http://localhost:8080/hello 验证结果
▶ 打包部署
mvn clean package # 生成target/my-webapp.war
将WAR文件部署到Tomcat、Jetty等服务器
常见问题解决
-  依赖下载失败  - 检查Maven镜像源(推荐阿里云镜像): <!-- 在pom.xml或settings.xml中配置 --> <mirror> <id>aliyunmaven</id> <mirrorOf>*</mirrorOf> <name>阿里云镜像</name> <url>https://maven.aliyun.com/repository/public</url> </mirror> 
 
- 检查Maven镜像源(推荐阿里云镜像): 
-  JDK版本不匹配 - 确认pom.xml中maven-compiler-plugin的<source>和<target>与本地JDK一致
 
- 确认
-  404错误 - 检查web.xml中的<url-pattern>是否与访问路径一致
- 确保项目打包后上下文路径正确(默认/my-webapp)
 
- 检查
最佳实践建议
-  结构规范 - 严格遵循Maven标准目录结构
- 模块化拆分:大型项目使用<modules>拆分service/web/dao层
 
-  依赖管理  - 使用<dependencyManagement>统一管理版本号
- 定期运行mvn versions:display-dependency-updates检查依赖更新
 
- 使用
-  持续集成 结合Jenkins/GitHub Actions实现自动化测试部署 
引用说明:本文操作基于Apache Maven官方文档、IntelliJ IDEA 2025.3帮助手册及Jakarta EE 10规范,依赖版本信息参考Maven中央仓库,服务器部署部分兼容Tomcat 10+(Jakarta EE 10规范)。
 
  
			 
			 
			 
			 
			 
			 
			 
			