准备工作
Java 环境
Windows10 + JDK8
Maven 安装
maven 版本 | maven 下载地址 |
---|---|
Apache Maven 3.6.3 | Download |
- 下载后,将包文件解压,我这里是解压到 f 盘,如图所示
- 添加环境变量 MAVEN_HOME = F:\install\maven\3.6.3
- 将 %MAVEN_HOME%\bin 添加到 PATH 中
- 通过 cmd 命令窗口查看 maven 是否安装成功,我们输入 mvn -version 查看 maven 版本
到这里 maven 手动安装成功。
Maven 构建
maven 命令行说明
命令 | 描述 |
---|---|
mvn | 主命令字 |
archetype:generate | 创建新项目 |
-DgroupId={package name} | 包名称 |
-DartifactId={project name} | 工程名称 |
-DarchetypeArtifactId=maven-archetype-quickstart | 创建的是java项目 |
maven 创建工程
在指定创建工程的目录打开 cmd 窗口,输入以下命令
mvn archetype:generate -DgroupId="com.test.mvn" -DartifactId=Hello -DarchetypeArtifactId=maven-archetype-quickstart
生成工程如下
我们注意到 maven 的目录结构,我们在手写工程时需要按 maven 的目录结构合入。
APP 代码,这里直接借用了 maven 自动生成的 Hello 代码
package com.test.mvn;
/**
* Hello world!
*
*/
public class App
{
public static void main( String[] args )
{
System.out.println( "Hello World!" );
}
}
测试代码略
pom.xml 配置说明
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.test.mvn</groupId>
<artifactId>Hello</artifactId>
<packaging>jar</packaging>
<version>1.0.0</version>
<name>Hello</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
字段 | 描述 |
---|---|
modelVersion | pom模型的版本, 4.0.0 为 maven3 版本 |
groupId | 项目组名称 |
artifactId | 项目组中的唯一 ID |
packaging | 指定了项目的打包类型,默认是 jar(jar/war/pom) |
version | 项目版本号,SNAPSHOT是快照版本 |
name | 项目名称,便于用户区分 |
maven 命令行构建
执行 “mvn clean compile”,编译
mvn compile
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------------< com.test.mvn:Hello >-------------------------
[INFO] Building Hello 1.0.0
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ Hello ---
[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory D:\Code\Java\maven\Hello\src\main\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ Hello ---
[INFO] Changes detected - recompiling the module!
[WARNING] File encoding has not been set, using platform encoding GBK, i.e. build is platform dependent!
[INFO] Compiling 1 source file to D:\Code\Java\maven\Hello\target\classes
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.906 s
[INFO] Finished at: 2020-10-13T09:25:59+08:00
[INFO] ------------------------------------------------------------------------
执行 “mvn test”,测试
mvn test
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------------< com.test.mvn:Hello >-------------------------
[INFO] Building Hello 1.0.0
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
......
......
......
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running com.test.mvn.AppTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.038 sec
Results :
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.436 s
[INFO] Finished at: 2020-10-13T09:26:03+08:00
[INFO] ------------------------------------------------------------------------
执行 “mvn package” 打包
mvn package
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------------< com.test.mvn:Hello >-------------------------
[INFO] Building Hello 1.0.0
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
......
Results :
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ Hello ---
[INFO] Building jar: D:\Code\Java\maven\Hello\target\Hello-1.0.0.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.299 s
[INFO] Finished at: 2020-10-13T09:35:42+08:00
[INFO] ------------------------------------------------------------------------
执行 “mvn clean” 清理
mvn clean
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------------< com.test.mvn:Hello >-------------------------
[INFO] Building Hello 1.0.0
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ Hello ---
[INFO] Deleting D:\Code\Java\maven\Hello\target
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.230 s
[INFO] Finished at: 2020-10-13T09:41:08+08:00
[INFO] ------------------------------------------------------------------------
简单的 maven 构建工程讲到这里,希望能给大家带来点帮助,祝愉快!
上一节:Ant 构建工程
下一节:Gradle 构建工程