环境搭建
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下载
注意,最好选择国内镜像,提高下载速度
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 | <role rolename="manager-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 | Apache Maven 3.9.11 (版本号可能有差异) |
4.3 优化Maven配置
1)配置本地仓库 (Local Repository)
Maven 的本地仓库是你电脑上的一个目录,用于存储所有项目下载的依赖包(jar 包)。
默认情况下,它位于 C:\Users\你的用户名.m2\repository。为了避免占用系统盘空间和提高灵活性,我们通常把它改到其他位置。
在你喜欢的位置创建一个空文件夹作为新的本地仓库,例如 D:\devtools\Maven-Repo。
打开 Maven 解压目录下 conf 文件夹中的 settings.xml 文件(建议用记事本或VSCode等文本编辑器打开)。
找到
1 | <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" |
2)配置国内镜像 (Mirror)
从 Maven 中央仓库(位于国外)下载依赖可能会很慢。通过配置国内镜像,可以大幅提升下载速度。阿里云提供了一个常用的公共镜像。
在同一个 settings.xml 文件中,找到
1 | <mirror> |
表示这个镜像用于替代所有名为 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 | <?xml version="1.0" encoding="UTF-8"?> |
4)项目坐标
这是 Maven 世界的“身份证”,通过三个要素唯一确定一个项目或库:
- groupId**:定义项目所属的实际项目或组织(例如:
org.apache.maven
,org.springframework.boot
)。 - artifactId:定义实际项目中的一个模块。
- version:定义项目的当前版本(例如:
1.0.0
,2.5.4
)。-SNAPSHOT
后缀表示这是一个开发中的快照版本。
5)Maven 仓库(Repository)
Maven 通过仓库来统一管理所有依赖和插件,分为三类:
- 本地仓库(Local Repository):
- 位于你本机上的一个目录(默认是
~/.m2/repository
)。 - Maven 会优先从这里查找依赖。如果找不到,才会去远程仓库下载并缓存到这里。
- 位于你本机上的一个目录(默认是
- 中央仓库(Central Repository):
- 由 Maven 社区维护的默认远程仓库,包含了绝大多数流行的开源库。
- 无需特殊配置,Maven 默认就会从这里下载。
- 远程仓库(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 | my-project(项目根目录) |