Maven 是 Java 專案構建與依賴管理的標準工具。本文提供 Windows + Eclipse 環境下,從 JDK/Maven 安裝、環境變數配置、Eclipse 整合、本地倉庫設定到建立 Web 專案的完整圖文步驟。
| 軟體 | 下載地址 | 建議版本 |
|---|---|---|
| Maven | https://maven.apache.org/download.cgi | 3.3.9+ (二進制 zip) |
| JDK | https://www.oracle.com/technetwork/java/javase/downloads/ | JDK 8 (或 11/17 LTS) |
# 系統變數
JAVA_HOME = D:\Program Files\Java\jdk1.8.0_xxx
CLASSPATH = %JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
PATH = %PATH%;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
# 系統變數
MAVEN_HOME = D:\Program Files\apache-maven-3.3.9
PATH = %PATH%;%MAVEN_HOME%\bin
cmd> java -version
cmd> mvn -version
# 顯示版本資訊即配置成功
%MAVEN_HOME%\conf\settings.xml<localRepository> 標籤:
<localRepository>F:\maven\repo</localRepository>
(建議非系統盤、路徑無中文/空格)cmd> mvn help:system → 觀察倉庫目錄生成檔案D:\Program Files\apache-maven-3.3.9)settings.xml → Apply and CloseGroup Id: com.example
Artifact Id: myweb
Version: 0.0.1-SNAPSHOT
Packaging: war (關鍵:Web 專案必須 war)
Name: My Web Project
Description: Maven Web Project Demo
myweb
├── src
│ ├── main
│ │ ├── java
│ │ ├── resources
│ │ └── webapp
│ │ ├── WEB-INF
│ │ │ └── web.xml
│ │ └── index.jsp
│ └── test
│ ├── java
│ └── resources
├── pom.xml
└── target
Maven 專案預設非 Eclipse Web 專案,需轉換以支援伺服器部署:
src/main/webapp<project xmlns="https://maven.apache.org/POM/4.0.0" ...>
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>myweb</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<failOnMissingWebXml>false</failOnMissingWebXml>
</properties>
<dependencies>
<!-- Servlet API (provided 由容器提供) -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<!-- JSP API -->
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.1</version>
<scope>provided</scope>
</dependency>
<!-- JSTL -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
<build>
<finalName>myweb</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.3</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
</plugins>
</build>
</project>
| 問題 | 解決方案 |
|---|---|
| 專案報錯:Maven Dependencies 缺失 | 右鍵專案 → Maven → Update Project → 勾選 Force Update |
| Web 專案無法加入 Tomcat | 確認已轉換 Dynamic Web Module、Packaging=war |
| JSP 編譯錯誤 | 檢查 JDK 版本一致性、JSP API scope=provided |
| 倉庫下載慢 | settings.xml 配置阿里雲鏡像 <mirror> |
| 編碼問題 | pom.xml 設定 project.build.sourceEncoding=UTF-8 |
Eclipse + Maven 標準化流程:安裝配置 → 倉庫設定 → IDE 整合 → 建立專案 (war) → 轉換 Web Facet → 完善 pom.xml → 部署驗證。掌握此流程,可快速建立標準化、可攜遷、依賴管理完善的 Java Web 專案骨架。後續建議學習:Maven 多模組專案、Profile 環境隔離、插件進階配置、CI/CD 整合。