Maven

4.4 第二个Maven工程

  • 目录结构

HelloFriend

          src

          ——main

          ————java

          ————resources

          ——test

          ————java

          ————resources

          pom.xml

 

  • POM文件

<?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.atguigu.maven</groupId>

           <artifactId>HelloFriend</artifactId>

           <version>0.0.1-SNAPSHOT</version>

           <name>HelloFriend</name>

 

                   <dependencies>

                            <dependency>

                                     <groupId>junit</groupId>

                                     <artifactId>junit</artifactId>

                                     <version>4.0</version>

                                     <scope>test</scope>

                            </dependency>                 

 

                            <dependency>

                                     <groupId>com.atguigu.maven</groupId>

                                     <artifactId>Hello</artifactId>

                                     <version>0.0.1-SNAPSHOT</version>

                                     <scope>compile</scope>

                            </dependency>

 

                   </dependencies>

         </project>

 

  • 主程序

在src/main/java/com/atguigu/maven目录下新建文件HelloFriend.java

package com.atguigu.maven;

         import com.atguigu.maven.Hello;

         public class HelloFriend {

                   public String sayHelloToFriend(String name){

                            Hello hello = new Hello();

                            String str = hello.sayHello(name)+" I am "+this.getMyName();

                            System.out.println(str);

                            return str;

                   }

                   public String getMyName(){

                            return "John";

                   }

         }

 

  • 测试程序

在/src/test/java/com/atguigu/maven目录下新建测试文件HelloFriendTest.java

package com.atguigu.maven;

         import static junit.framework.Assert.assertEquals;

         import org.junit.Test;

         import com.atguigu.maven.Hello;

 

         public class HelloFriendTest {

                   @Test

                   public void testHelloFriend(){

                            HelloFriend helloFriend = new HelloFriend();

                            String results = helloFriend.sayHelloToFriend("litingwei");

                            assertEquals("Hello litingwei! I am John",results);

                   }

         }

 

  • 关键:对Hello的依赖

这里Hello就是我们的第一个Maven工程,现在HelloFriend对它有依赖。那么这个依赖能否成功呢?更进一步的问题是:HelloFriend工程会到哪里去找Hello呢?

答案是:本地仓库。任何一个Maven工程会根据坐标到本地仓库中去查找它所依赖的jar包。如果能够找到则可以正常工作,否则就不行。