0%

Maven-3-POM配置文件

POM介绍

POM全称Project Object Model,项目对象模型。将Java工程的相关信息封装为对象作为便于操作和管理的模型。Maven工程的核心配置,可以说学习Maven就是学习pom.xml文件中的配置。

POM.xml文件相关功能和作用如下图所示。

image-20230629211142302

约定的目录结构

现在JavaEE开发领域普遍认同一个观点:约定>配置>编码

Maven和用户约定的目录结构如下,要想使用Maven就必须严格遵守约定。

image-20230629205717922

第二个Maven程序

在当前工程下再创建一个Maven工程,工程名为HelloFriend。现在我们要是想再当前这个新工程中去调用之前的Hello工程中的类该如何操作?答案是使用HelloJAR包。之前我们再演示Maven工程的使用时,已经将HelloJAR包导入到了本地仓库。接下来演示调用这个JAR包。

HelloFriend的配置文件中配置以下内容,让Maven获取到本地仓库中的Hello JAR包。同时为了使用单元测试方法,将junit也导入进来。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<dependencies>
<dependency>
<groupId>com.maven</groupId>
<artifactId>Hello</artifactId>
<version>1.0</version>
</dependency>

<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
</dependencies>

接下来在主程序目录src\main\java下创建软件包com.tipdm.maven,并在该软件包下创建HelloFriend类。内容如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
package com.tipdm.maven;

public class HelloFriend {
public String sayHelloToFriend(String name){
Hello hello = new Hello();
String str = hello.sayHello(name)+" I am "+this.getMyName();
return str;
}

public String getMyName(){
return "Idea";
}

}

然后在测试程序目录src\test\java下创建软件包com.tipdm.maven,并在该软件包下创建HelloFriendTest类,内容如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package com.tipdm.maven;

import org.junit.Test;

import static junit.framework.TestCase.assertEquals;


public class HelloFriendTest {
@Test
public void testHelloFriend(){
HelloFriend helloFriend = new HelloFriend();
String results = helloFriend.sayHelloToFriend("Maven");
assertEquals("Hello Maven! I am Idea",results);
}
}

目录结构图如下:

image-20230629210519401

接下来使用Maven中的test功能对其进行测试。

测试结果没问题。

image-20230629210603039

调用成功。

为了确实是需要去调用HelloJAR包,我们在本地文件中找到该JAR包,然后将其删除,并再次运行test

已删除。

image-20230629210733121

测试结果。

image-20230629210757483

这个时候测试结果就报错了,显示无法解析依赖Hello,并且在中央仓库中也无法获取。说明确实是依赖HelloJAR包。

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