少女祈祷中...

环境搭建

1. 安装JDK17

1.1 下载方式1

通过Java官网下载:https://www.oracle.com/cn/java/technologies/downloads/#java17-windows

缺点:需要注册和登录Oracle账号;

1.2 下载方式2

在头歌教学平台上下载老师提供的版本

1.3 解压文件到指定目录

记住解压后放置的目录

1.4 配置环境变量

1)配置JAVA_HOME:解压后的目录

2)配置path:%JAVA_HOME%\bin

2. 安装Eclipse For JEE

2.1下载

Eclipse 官网下载:https://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/2025-09/R/eclipse-jee-2025-09-R-win32-x86_64.zip

注意,最好选择国内镜像,提高下载速度

2.2 解压

将下载的压缩文件解压后放置在指定目录

2.3 运行并配置

1)设置workspace(工作空间)

2)设置字体

3. 安装Tomcat 10.1

3.1 下载

Tomcat官网,下载路径:https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.46/bin/apache-tomcat-10.1.46.zip

3.2 了解Tomcat 10.1的支持情况

Tomcat版本 JDK版本 Servlet版本 JSP版本 注解版本
11.0.x 17 and Later 6.1 4.0 3.0
10.1.x 11 and Later 6.0 3.1 2.1
9.0.x 8 and Later 4.0 2.3 1.3

3.2 安装

1)解压

将下载的压缩包解压到一个你喜欢的、路径中不包含中文或空格的目录,例如 D:\apache-tomcat-10.1.155。这就是Tomcat的安装根目录。

2)配置环境变量

配置环境变量可以让你在任意位置启动Tomcat。

新建 CATALINA_HOME 系统变量:你的Tomcat解压目录(例如:D:\apache-tomcat-10.1.15)

编辑 Path 变量:%CATALINA_HOME%\bin

逐个点击"确定"关闭所有窗口

3)运行与验证

进入Tomcat安装目录,进入bin目录

找到startup.bat并双击运行,即可看到启动Tomcat服务的日志信息。

打开浏览器,访问 http://localhost:8080。如果你能看到Apache Tomcat的默认欢迎页面,恭喜你,安装成功

3.3 配置

1)配置管理用户(用于管理后台)

在 conf 文件夹中,用文本编辑器打开 tomcat-users.xml 文件。在文件末尾的 标签之前,添加以下内容(你可以自定义用户名和密码):

1
2
3
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="你的用户名" password="你的密码" roles="manager-gui,admin-gui"/>

保存文件,并重启Tomcat。之后你可以通过点击欢迎页面上的"Manager App"来登录管理后台。

2)控制台中文乱码

启动Tomcat的命令行窗口可能出现中文乱码。这是因为Tomcat日志输出编码与Windows命令行解码不一致。

解决方法:进入Tomcat的 conf 文件夹,打开 logging.properties 文件。找到一行:

1
java.util.logging.ConsoleHandler.encoding = UTF-8

将其中的 UTF-8 改为 GBK,保存并重启Tomcat即可。

3.4 Eclipse中配置Tomcat

1) 添加 Tomcat 服务器运行时环境

  • 打开 Eclipse,进入 Window -> Preferences。
  • 在左侧树形菜单中,找到 Server -> Runtime Environments。
  • 点击 Add… 按钮,在弹出的对话框中选择你下载的 Tomcat 版本(例如 “Apache Tomcat v9.0”)。
  • 点击 Next,通过 Browse… 指定你的 Tomcat 解压目录。
  • 选择你系统安装的 JDK
  • 点击 Finish,然后 Apply and Close。

2)在 Servers 视图中创建新的服务器实例

  • 如果 Servers 视图未显示,通过 Window -> Show View -> Servers 打开它。

  • 在 Servers 视图空白处右键,选择 New -> Server。

  • 选择刚才配置的 Tomcat 版本运行时环境。

  • 点击 Finish。

3) 配置 Server Locations

  • 为了让项目直接部署到 Tomcat 安装目录(而非 Eclipse 工作空间元数据目录),需要进行以下设置,这对确保热部署等功能正常工作很重要:

  • 在 Servers 视图中的 Tomcat 服务器实例上右键,选择 Properties。

  • 查看 General 部分下的 Server Locations。

  • 选择 Use Tomcat installation (takes control of Tomcat installation)。
    注意:如果选项灰色不可选:

  • 先将服务器下的所有项目移除 (右键项目 -> Remove)。

  • 右键服务器选择 Clean。

  • 然后双击服务器实例进入 Overview 页面再进行上述设置

4)其他配置

还可以在 Server Options 中根据需要进行配置,例如取消勾选 “Modules auto reload by default” 以防止修改类后服务器自动重启

4. 安装Maven 3.9

4.1 下载

官网下载:https://dlcdn.apache.org/maven/maven-3/3.9.11/binaries/apache-maven-3.9.11-bin.zip

4.2 安装

1)环境准备

Maven 本身由 Java 编写,因此需要先确保你的电脑上已安装 JDK (Java Development Kit) 并配置好环境变量。

2)解压

将下载好的 ZIP 压缩包解压到一个没有中文和空格的目录下,例如 D:\devtools\apache-maven-3.8.6。这避免了潜在的路径问题。

3)配置环境变量

配置环境变量的目的是为了让你能在任何路径下方便地使用 mvn 命令。

新建 MAVEN_HOME:你的 Maven 解压路径(例如 D:\devtools\apache-maven-3.8.6)。

修改 Path 变量:%MAVEN_HOME%\bin

4)验证安装

打开一个新的命令提示符(CMD),输入命令 mvn -v(或 mvn -version)。

如果安装成功,你会看到类似下面的输出,显示了 Maven、JDK 的版本信息及其安装路径:

1
2
3
4
5
Apache Maven 3.9.11 (版本号可能有差异)
Maven home: D:\devtools\apache-maven-3.9.11
Java version: 1.8.0_341, vendor: Oracle Corporation, runtime: ...\jdk1.8.0_341\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

4.3 优化Maven配置

1)配置本地仓库 (Local Repository)

Maven 的本地仓库是你电脑上的一个目录,用于存储所有项目下载的依赖包(jar 包)。

默认情况下,它位于 C:\Users\你的用户名.m2\repository。为了避免占用系统盘空间和提高灵活性,我们通常把它改到其他位置。

在你喜欢的位置创建一个空文件夹作为新的本地仓库,例如 D:\devtools\Maven-Repo。

打开 Maven 解压目录下 conf 文件夹中的 settings.xml 文件(建议用记事本或VSCode等文本编辑器打开)。

找到 标签(通常是被注释掉的),在其下方添加一行,指定你的仓库路径:

1
2
3
4
5
6
7
8
9
10
11
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
-->
<localRepository>D:\devtools\Maven-Repo</localRepository> <!-- 你的仓库路径 -->
...
</settings>

2)配置国内镜像 (Mirror)

从 Maven 中央仓库(位于国外)下载依赖可能会很慢。通过配置国内镜像,可以大幅提升下载速度。阿里云提供了一个常用的公共镜像。

在同一个 settings.xml 文件中,找到 标签。在 标签内,添加如下 配置:

1
2
3
4
5
6
7
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>https://maven.aliyun.com/repository/central</url>
</mirror>
<mirrorOf>central</mirrorOf>

表示这个镜像用于替代所有名为 central 的仓库(即Maven中央仓库)。

保存 settings.xml 文件。

3)将配置复制到 .m2 目录

为了确保 Maven 一定能使用到你修改后的配置,可以将 conf/settings.xml 文件复制到你系统用户目录下的 .m2 文件夹中(例如 C:\Users\你的用户名.m2\)。如果 .m2 文件夹不存在,可以先运行一次 mvn 命令(如 mvn help:system)或手动创建。

4)Maven的简单使用

配置完成后,你就可以体验 Maven 的便捷了。以下是一些常用命令,在项目根目录(包含 pom.xml 的目录)下运行:

mvn compile:编译项目源代码。

mvn clean:清理项目,删除 target 目录。

mvn package:编译并打包项目(生成 jar 或 war 包)。

mvn test:运行项目中的测试用例。

5)注意事项

路径问题:Maven 的安装路径和本地仓库路径最好不要包含中文或空格,否则可能导致一些难以预料的问题。

环境变量生效:修改环境变量后,务必重新打开命令提示符窗口,新的设置才会生效。

网络问题:即使配置了国内镜像,首次下载依赖时也可能需要一些时间,请耐心等待。

4.4 Eclipse中配置Maven

1)在 Eclipse 中指定自定义的 Maven

  • 打开 Eclipse,进入 Window -> Preferences。

  • 在左侧目录树中,找到 Maven -> Installations。

  • 点击 Add… 按钮,选择你的 Maven 解压目录,然后点击 Finish。

  • 勾选你刚刚添加的 Maven,以确保 Eclipse 使用它(关键步骤!)。

2)在 Eclipse 中指定 settings.xml 和本地仓库

  • 在 Window -> Preferences 中,找到 Maven -> User Settings。

  • 点击 Browse… 按钮,选择你刚才修改过的那个 settings.xml 文件。

  • 一旦你指定了 settings.xml 文件,Local Repository 的位置会自动更新为该文件中配置的路径。如果 settings.xml 中没有配置,则会显示默认路径。

3)启用 Maven 视图和控制台

通过 Window -> Show View -> Other… 打开 Maven 相关的视图,如 Maven Repositories(可以查看本地仓库、全局仓库状态),或者确保 Console 视图可见,并可以切换到 Maven Console 以查看 Maven 命令的执行输出。

4.5 Maven入门

1)概述

Maven 是一个强大的项目管理和构建自动化工具,主要用于 Java 项目。它的核心功能可以概括为以下几点:

功能领域 描述 解决的问题
构建管理 提供了一套标准、统一的项目构建生命周期(清理、编译、测试、打包、部署等)。 告别手动执行 javac、jar 等命令,实现一键式构建。
依赖管理 自动下载、管理项目所依赖的第三方库(JAR 文件)及其传递性依赖。 解决令人头疼的“Jar Hell”问题,无需再手动搜索和添加 JAR 包。
项目信息管理 通过一个中心文件(pom.xml)管理项目描述、开发者、许可证、项目报告等元数据。 项目结构清晰标准化,便于理解和维护。

2)优势

  • 标准化与一致性:所有 Maven 项目都遵循相同的目录结构,这让开发者能快速熟悉任何新项目。
  • 依赖管理:这是 Maven 最受欢迎的特性。它极大地简化了库的管理,自动处理依赖之间的冲突。
  • 丰富的插件生态系统:Maven 的核心其实很小,它的所有功能都通过插件实现,社区提供了大量插件来支持各种任务(如编译、测试、打包、部署、生成站点文档等)。
  • 强大的继承和聚合:支持多模块项目管理,非常适合大型项目和微服务架构。

3)核心概念:POM(Project Object Model)

POM 是 Maven 的灵魂,它是一个名为 pom.xml 的 XML 文件,包含了项目的一切配置信息。

一个简单的pom.xml示例如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<!-- 模型版本 -->
<modelVersion>4.0.0</modelVersion>

<!-- 项目坐标 (GAV) - 项目的唯一标识符 -->
<groupId>com.example</groupId> <!-- 公司或组织域名反写 -->
<artifactId>my-web-app</artifactId> <!-- 项目名 -->
<version>1.0.0-SNAPSHOT</version> <!-- 版本号 -->
<packaging>war</packaging> <!-- 打包方式 (jar, war, pom) -->

<!-- 项目属性 -->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
</properties>

<!-- 项目依赖 -->
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope> <!-- 依赖范围:只在测试时使用 -->
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope> <!-- 依赖范围:由容器(如Tomcat)提供 -->
</dependency>
</dependencies>

<!-- 构建配置 -->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>11</source>
<target>11</target>
</configuration>
</plugin>
</plugins>
</build>
</project>

4)项目坐标

这是 Maven 世界的“身份证”,通过三个要素唯一确定一个项目或库:

  • groupId**:定义项目所属的实际项目或组织(例如:org.apache.maven, org.springframework.boot)。
  • artifactId:定义实际项目中的一个模块。
  • version:定义项目的当前版本(例如:1.0.0, 2.5.4)。-SNAPSHOT 后缀表示这是一个开发中的快照版本。

5)Maven 仓库(Repository)

Maven 通过仓库来统一管理所有依赖和插件,分为三类:

  1. 本地仓库(Local Repository):
    • 位于你本机上的一个目录(默认是 ~/.m2/repository)。
    • Maven 会优先从这里查找依赖。如果找不到,才会去远程仓库下载并缓存到这里。
  2. 中央仓库(Central Repository):
    • 由 Maven 社区维护的默认远程仓库,包含了绝大多数流行的开源库。
    • 无需特殊配置,Maven 默认就会从这里下载。
  3. 远程仓库(Remote Repository)/ 私有仓库:
    • 公司或组织内部搭建的仓库(如 Nexus、Artifactory)。
    • 用于部署公司内部的私有依赖,或者作为中央仓库的代理缓存以加速下载。

依赖解析过程:当你在 POM 中声明一个依赖后,Maven 会按 本地仓库 → 远程/私有仓库 → 中央仓库 的顺序去查找并下载所需的 JAR 文件。

6)Maven 依赖机制

依赖范围(Scope)

<scope> 标签用来控制依赖在哪个阶段有效,非常重要。

Scope 描述 示例
compile 默认值。在整个项目生命周期(编译、测试、运行)都有效。 Spring Core, Lombok
provided 表示 JDK 或容器(如 Tomcat)在运行时已提供此依赖,无需打包。 Servlet API, JSP API
runtime 编译时不需要,但在运行时需要。 JDBC 驱动
test 只在测试阶段(编译和运行测试代码)需要。 JUnit, Mockito
system 与 provided 类似,但必须通过 systemPath 显式指定本地路径。 一般不推荐使用

传递性依赖

Maven 会自动引入你声明的依赖所依赖的其他库(传递性依赖)。例如,你声明了依赖 A,而 A 又依赖 B 和 C,那么 Maven 会自动把 B 和 C 也加入到你的项目中。

7)Maven 构建生命周期

Maven 基于构建生命周期(Build Lifecycle)的核心概念,生命周期由多个阶段(phase)组成。最常用的生命周期是 default,它负责项目的编译、测试和打包。

常用命令(实则是生命周期阶段):

  • mvn clean:运行 clean 生命周期的清理阶段,删除 target 目录。
  • mvn compile:编译主项目的源代码。
  • mvn test:运行测试用例。
  • mvn package:将编译后的代码打包成可分发格式(如 JAR, WAR)。
  • mvn install:将打包好的文件安装到本地仓库,供其他本地项目依赖。
  • mvn deploy:将最终的包复制到远程仓库,供其他开发者或项目使用。

这些命令是连续的。例如,当你执行 mvn package 时,Maven 会先执行 validate, compile, test 等所有位于 package 之前的阶段。

8)标准项目目录结构

Maven 强制约定了一个标准的目录结构,这保证了所有 Maven 项目都遵循统一的布局。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
my-project(项目根目录)
│
├── src
│ ├── main
│ │ ├── java # 项目主 Java 源代码
│ │ ├── resources # 项目主资源文件(配置文件、属性文件等)
│ │ └── webapp # Web 应用主目录(对于 WAR 项目,包含 WEB-INF/, web.xml)
│ └── test
│ ├── java # 测试 Java 源代码(如 JUnit 测试)
│ └── resources # 测试资源文件
│
├── target # Maven 构建输出目录(编译后的类文件、打包的jar/war等)
│
└── pom.xml # 项目的核心配置文件
留言