maven的学习系列(二)—maven的文件夹结构

时间:2021-09-18 17:27:49

maven的文件有自己的组织方式,例如以下所看到的:

---maven

----src

---main

----java

---test

----java

-----pom.xml

当运行完mvn compile之后会在src的同级文件夹生成target文件夹,里面包括.class文件

maven的学习系列(二)—maven的文件夹结构

以下是俩个样例

example 1:

pom.xml

<?xml version="1.0" encoding="utf-8"?>

<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>zttc.itat.maven</groupId>

        <artifactId>maven_ch01</artifactId>

        <version>0.0.1-SNAPSHOT</version>

        

        <dependencies>

             <dependency>

                 <groupId>junit</groupId>

                 <artifactId>junit</artifactId>

                 <version>4.11</version>

             </dependency>

        </dependencies>

</project>

HelloMaven.java

package com.fjj;



public class HelloMaven {

      public String sayHello(String name){

         return "hello:"+name;

      }

}

TestHelloMaven.java

package com.fjj;



import org.junit.*;

import static org.junit.Assert.*;



public class TestHelloMaven {

     @Test

     public void testSayHello(){

         HelloMaven hm = new HelloMaven();

         String str = hm.sayHello("maven");

         assertEquals(str,"hello:maven");

     }

}

运行mvn compile

然后运行mvn install (把生成的jar包放到本地repository中)

Example2

pom.xml

<?xml version="1.0" encoding="utf-8"?>

<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>zttc.itat.maven</groupId>

        <artifactId>maven_ch02</artifactId>

        <version>0.0.1-SNAPSHOT</version>

        

        <dependencies>

             <dependency>

                 <groupId>junit</groupId>

                 <artifactId>junit</artifactId>

                 <version>4.11</version>

             </dependency>

             <dependency>

                 <groupId>zttc.itat.maven</groupId>

                 <artifactId>maven_ch01</artifactId>

                 <version>0.0.1-SNAPSHOT</version>

             </dependency>

        </dependencies>

</project>

Hello.java

package com.fjj;



import com.fjj.HelloMaven;



public class Hello {

     public String say(String name){

        HelloMaven hm = new HelloMaven();

        return hm.sayHello("maven");

     }

}

运行mvn compile

当中example2使用了example1生成的jar包。

运行mvn compile时,maven插件会依据pom.xml文件到本地repository去找相应的jar包,假设没有,则会去*repository去下载相应的jar包,mvnrepository的网址为http://www.mvnrepository.com/能够在mvnrepository中找到每一个jar包的坐标。坐标由<groupId><artifactId><version>构成相应<项目><模块><版本号>.

eg:junit

maven的学习系列(二)—maven的文件夹结构