手动搭建第一个 Maven 工程

Maven常用命令

Maven的联网问题

修改Maven本地仓库位置

修改镜像仓库

1.手动搭建第一个 Maven 工程

  • 按照之前的 Maven 约定的目录结构,手动搭建第一个 Maven 工程结构如下:
  • 用于测试下述 Maven的常用命令。

maven_01_00.png

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?xml version="1.0" ?>
<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>
<groupId>com.cwz.maven</groupId>
<artifactId>Hello</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>Hello</name>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.0</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
1
2
3
4
5
6
7
// 位于 Hello/src/main/java/com/cwz/maven 目录下
package com.cwz.maven;
public class Hello {
public String sayHello(String name){
return "Hello "+name+"!";
}
}
1
2
3
4
5
6
7
8
9
10
11
12
// 位于 Hello/src/test/java/com/cwz/maven 目录下
package com.cwz.maven;
import org.junit.Test;
import static junit.framework.Assert.*;
public class HelloTest {
@Test
public void testHello(){
Hello hello = new Hello();
String results = hello.sayHello("litingwei");
assertEquals("Hello litingwei!",results);
}
}

2.Maven的常用命令

  下述命令是一些与构建过程相关的命令:

注意:执行这些命令时,必须要进入 pom.xml 所在的目录。

  • 【1】mvn clean:清理
  • 【2】mvn compile:编译主程序
  • 【3】mvn test-compile:编译测试程序
  • 【4】mvn test:测试执行
  • 【5】mvn package:打包
  • 【6】mvn install:将自己开发的 Maven 安装到本地仓库
  • 【7】mvn site:生成当前项目的站点文档
  • 执行mvn compile命令后,如下结果:

maven_01_01.png

  第一次执行命令会联网Download一些插件,之后,将项目的main程序编译的代码放进 “当前项目/target/classes” 目录下:

maven_01_02.png

  • 执行mvn test-compile命令后,将项目的测试程序编译的代码放进 “当前项目/target/test-classes” 目录下:

maven_01_03.png

  • 执行mvn package命令后,将整个项目打包放进 “当前项目/target/” 目录下:

maven_01_04.png

  • 最后,整个项目target目录如下:
  • 可执行mvn clean命令,清空target目录(项目构建后的产品目录)。

maven_01_05.png


3.关于Maven的联网问题

  • ①Maven的核心程序中仅仅定义了抽象的生命周期方法,但是具体的工作必须由特定的插件来完成。而插件本身并不包含在Maven的核心程序中。
  • ②当执行Maven 的命令需要用到某些插件时,Maven核心程序会先到本地仓库中寻找。
  • ③本地仓库的默认位置:“当前用户家目录/.m2/repository”。
  • ④若Maven核心程序在本地仓库中找不到所需插件,就会自动连接外网,到中央仓库下载。
  • ⑤若无法连接到外网,则会构建失败。
  • ⑥可以修改Maven本地仓库的默认位置:修改Maven本地仓库位置

4.修改Maven本地仓库位置

  修改maven解压目录下:/conf/settings.xml 文件即可。

找到 <localRepository>/path/to/local/repo</localRepository>。

将其放到注释外面,并修改路径为你想要的仓库的位置。

1
<localRepository>你想要的仓库的路径</localRepository>

5.修改镜像仓库

  Maven远程仓库默认是外国的,为了快速下载,我们可以将其改为国内的镜像仓库。

  修改maven解压目录下:/conf/settings.xml 文件即可。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<mirrors>
<!-- mirror
| Specifies a repository mirror site to use instead of a given repository. The repository that
| this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
| for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
|
<mirror>
<id>mirrorId</id>
<mirrorOf>repositoryId</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://my.repository.com/repo/path</url>
</mirror>
-->
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
</mirrors>

评论