0%

Maven-2-第一个Maven程序

Maven工程结构

Maven工程树如下所示。

1
2
3
4
5
6
7
8
Hello
├─pom.xml // Maven Jar包的核心配置文件
└─src
├─main
│ ├─java // 这个java中写主程序
│ └─resources // java主程序中的相关配置文件
└─test
└─java // 测试程序,例如单元测试方法

第一个Maven程序

pom.xml中添加以下配置内容。

1
2
3
4
5
6
7
8
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.0</version>
<scope>test</scope>
</dependency>
</dependencies>

添加完上述内容后,IDEA就会自动将junit包导入到工程。

接下来在src.main.java下创建一个软件包com.tipdm.maven

然后在该软件包下新建一个Java类,叫做Hello。内容如下:

1
2
3
4
5
6
7
package com.tipdm.maven;

public class Hello {
public String sayHello(String name){
return "Hello "+name+"!";
}
}

创建完毕后,我们要对其进行测试。这个时候需要在src.test.java下创建测试类HelloTest,内容如下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import com.tipdm.maven.Hello;
import org.junit.Test;

import static org.junit.Assert.assertEquals;


public class HelloTest {
@Test
public void testHello(){
Hello hello = new Hello();
String results = hello.sayHello("tipdm");
//断言 判断结果和你预想的结果是否相同
// 预期结果和实际结果相同则单元测试方法通过
assertEquals("Hello tipdm!",results);
}
}

创建完后,接下来使用Maven的方法运行测试文件。

点击右侧的Maven图标,选择Hello库下的生命周期。

image-20230629130252049

打开后可以看到有以下一些内容。

命令名称 作用
clean 清空编译结果
compile 编译主程序
test 编译测试程序,并运行单元测试方法
package 打包工程为jar
install 将打包的jar包放入本地仓库

接下来分别演示其功能。

compile功能

运行前工程文件夹如下:

image-20230629132016071

点击compile编译主程序。

image-20230629132058980

再次查看工程文件夹

image-20230629132122489

跟之前相比工程文件夹下多了一个target文件夹,打开target文件夹内容如下。

image-20230629132200174

这些内容就是主程序的编译结果。

test功能

双击点击test功能,让其运行。

image-20230629132301784

再次查看target目录,这个时候文件夹下又多出了一些文件夹,这些文件夹就是编译测试程序的结果。

image-20230629132351611

clean功能

双击clean

image-20230629132433199

这个时候再次回到工程文件夹,可以看到target文件夹已经被删除。

image-20230629132504293

package功能

双击package,这个时候程序会自动进行编译并打包为jar包,存放在target目录下。

image-20230629132621400

install功能

双击install

image-20230629132731465

这个时候程序会自动将该工程的jar包,放入到本地的仓库中。

具体放入的路径位置在pom.xml配置文件中指定。如下所示。

image-20230629132852187

在本地文件夹中找到当前工程的jar包。

image-20230629132944555

现在我们第一个Maven程序就创建完成了。

-------------本文结束感谢您的阅读-------------