在 Eclipse 中使用 Maven
1 安装 Maven 核心程序
- 下载地址:http://maven.apache.org/
-
检查 JAVA_HOME 环境变量。Maven 是使用 Java 开发的,所以必须知道当前系统环境中 JDK 的安装目录。
C:\Users\韩总>echo %JAVA_HOME% D:\Java\jdk1.8.0_111
-
解压 Maven 的核心程序。
将 apache-maven-3.6.3-bin.zip 解压到一个非中文无空格的目录下。例如:D:\apache-maven-3.6.3
-
配置环境变量。
path环境变量
注意事项:
path环境变量中保存的是一个一个的路径。
当我们在命令行中输入一个命令(或访问一个文件时),系统会首先在当前目录下寻找,如果找到了则直接执行或打开
如果没有找到,则会依次去path环境变量的路径中去寻找,直到找到为止
如果path环境变量中的路径都没有找到,则报错 'xxx' 不是内部或外部命令,也不是可运行的程序或批处理文件。
我们可以将一些经常需要访问到的文件会程序的路径,添加到path环境变量中,这样我们就可以在任意的位置访问到这些文件了MAVEN_HOME D:\apache-maven-3.6.3
path %MAVEN_HOME%\bin
-
查看 Maven 版本信息验证安装是否正确
C:\Users\韩总>mvn -v Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f) Maven home: D:\apache-maven-3.6.3\bin\.. Java version: 1.8.0_111,vendor: Oracle Corporation,runtime: D:\Java\jdk1.8.0_111\jre Default locale: zh_CN,platform encoding: GBK OS name: "windows 10",version: "10.0",arch: "amd64",family: "windows"
2 配置本地仓库和阿里云镜像
2.1 配置本地仓库
- Maven 的核心程序并不包含具体功能,仅负责宏观调度。具体功能由插件来完成。Maven 核心程序会到本地仓库中查找插件。如果本地仓库中
没有就会从远程中央仓库下载。此时如果不能上网则无法执行 Maven 的具体功能。为了解决这个问题,我们可以将 Maven 的本地仓库指向一个
在联网情况下下载好的目录。 - Maven 默认的本地仓库:~.m2\repository 目录。
Tips:~表示当前用户的家目录。 -
找到 Maven 的核心配置文件 settings.xml 文件:
解压目录 D:\apache-maven-3.6.3\conf\settings.xml
-
设置方式
<localRepository>本地仓库的路径</localRepository>
<localRepository>E:\LocalRepository</localRepository>
2.2 配置阿里云镜像
为了下载 jar 包方便,在 Maven 的核心配置文件 settings.xml 文件的<mirrors></mirrors>
标签里面配置以下标签:
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
3 在 Eclipse 中配置 Maven
Eclipse 中默认自带 Maven 插件,但是自带的 Maven 插件不能修改本地仓库,所以通常我们不使用自带的 Maven,而是使用自己安装的,在 Eclipse 中配置 Maven 的步骤如下:
点击 Eclipse 中的 Window→Preferences
点开 Maven 前面的箭头,选择 Installations,点击 Add…
点击 Directory…选择我们安装的 Maven 核心程序的根目录,然后点击 Finish
勾上添加的 Maven 核心程序
选择 Maven 下的 User Settings,在全局设置哪儿点击 Browse…选择 Maven核心程序的配置文件 settings.xml,本地仓库会自动变为我们在 settings.xml 文件中设置的路径
4 在 Eclipse 中创建 Maven 项目
4.1 创建 Java 工程
点击 File→New→Maven Project,弹出如下窗口
点击 Next,配置坐标(GAV)及打包方式,然后点击 Finish
-
创建完工程之后发现默认的 JDK 的编译版本是 1.5,在 Maven 的核心配置文件 settings.xml 文件中添加以下配置将编译版本改为 1.8,重启 Eclipse 即可
<profile> <id>jdk-1.8</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.8</jdk> </activation> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> </properties> </profile>
-
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.atguigu.maven</groupId> <artifactId>Hello</artifactId> <version>0.0.1-SNAPSHOT</version> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> </dependencies> </project>
-
编写主代码
在 src/main/java 目录下创建包并创建 Hello.java 文件package com.atguigu.maven; public class Hello { public String sayHello(String name) { return "Hello "+name+"!"; } }
-
编写测试代码
在 src/test/java 目录下创建包并创建 HelloTest.java 文件package com.atguigu.maven; import org.junit.Test; public class HelloTest { @Test public void testHello() { Hello hello = new Hello(); String maven = hello.sayHello("Maven"); System.out.println(maven); } }
使用 Maven 的方式运行 Maven 工程
在工程名 Hello 或 pom.xml 上右键→Run As 运行 Maven 项目
4.2 创建 Web 工程(了解)
创建简单的 Maven 工程,打包方式为 war 包
创建完成之后因缺少 web.xml 文件工程出现小红叉
在工程上右键→Build Path→Configure Build Path…
点击 Project Facets 欺骗 Eclipse 当前工程不是 Web 工程,点击应用
再告诉 Eclipse 当前工程是一个 Web 工程,点击应用并关闭
发现 MavenWeb 工程小红叉消失,并出现了 WebContext 目录
在 MavenWeb 上右键→Run As→Run on Server 部署到 Tomcat 上运行
4.3 创建父工程
父工程的打包方式为 pom,父工程只需要保留 pom.xml 文件即可
创建简单的 Maven 工程,打包方式选择 pom
-
在 pom.xml 文件中通过
<dependencyManagement></dependencyManagement>
标签进行依赖管理<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 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.atguigu.maven</groupId> <artifactId>Parent</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>pom</packaging> <!-- 依赖管理 --> <dependencyManagement> <dependencies> <!-- 在此配置要管理的依赖 --> </dependencies> </dependencyManagement> </project>
-
在子工程中继承父工程
<!-- 继承 --> <parent> <!-- 在此配置父工程的坐标 --> </parent>