实战1:基础实战

第一步:新建如下目录

实战1:基础实战

 

package com.java.world.helloworld;

public class HelloWorld{

public void sayHello(){

System.out.println("maven,hello wordl!");

}

}

 

第二步:新建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/xsd/maven-4.0.0.xsd"

>

<!-- project标签是所有POM.XML的根元素,它声明了一些POM相关的命名空间及xsd元素。-->

<modelVersion>4.0.0</modelVersion>

<!-- modelVersion指定当前POM模型的版本,如果安装的是Maven2或者Maven3,那么这个值只能是4.0.0 -->

<groupId>com.java.world</groupId>

<!-- groupId是项目的唯一标识符,一般使用全限定的包名来区分该项目和其他项目,并且构建时生成的路径也是由此生成 -->

<artifactId>helloworld</artifactId>

<!-- artifactId是构件标识符,和groupId一起来唯一标识一个构件,不能有2个不同的项目同时拥有同样的groupId和artifactId

在某个特定的groupId下,artifactId必须是唯一的。  -->

<!-- 构件是项目产生或使用的一种东西,Maven为项目产生的构件包括:jar包、源码、二进制发布和部署包WAR等 -->

<version>1.0</version>

<!-- version是项目当前的版本,格式为:主版本.次版本.增量版本-限定版本号 -->

<packaging>jar</packaging>

<!-- packaging项目产生的构件类型,如jar,war,ear,pom等 -->

<name>MavenWorld</name>

<!-- name是项目名称,Maven产生的文档使用,非必需 -->

<url>http://www.ansq.com</url>

<!-- url是项目主页的URL,Maven产生的文档使用,非必需 -->

</project>

第三步:打开命令窗口

按住shift,右击鼠标,选择:在此处打开PowerShell窗口,输入:mvn clean compile

实战1:基础实战

实战1:基础实战

 

 

注意:

①C:\Users\XXX\.m2,执行命令之前是0KB,执行完之后是5.19 MB,而安装目录始终还是10.7 MB,这说明下载的jar包都放在了m2目录下。

②整个执行过程耗时很久,其需要从maven*仓库下载jar包,否则m2也不会5MB多,整个过程耗时很久,我这里只借去了开头、结尾的截图。

③在D:\Maven_Intellij_Space目录下自动生成了target目录。

实战1:基础实战

 

④由于Maven的所有工作都是交由插件来完成的,因此clean、compile命令也是分别交给maven-clean-plugin、maven-compiler-plugin来完成的,可以查看插件信息:

C:\Users\XXXXX\.m2\repository\org\apache\maven\plugins\maven-clean-plugin

C:\Users\XXXXX\.m2\repository\org\apache\maven\plugins\maven-compiler-plugin

 

第四步:单元测试JAVA文件

按照如下创建目录和JAVA文件

实战1:基础实战

 

package com.java.world.helloworld;

import org.junit.Test;

public class HelloTest{

@Test

public void testHello(){

HelloWorld hw = new  HelloWorld();

hw.sayHello();

}

}

然后,在POM.XML引入org.junit包;

<?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/xsd/maven-4.0.0.xsd"

>

<!-- project标签是所有POM.XML的根元素,它声明了一些POM相关的命名空间及xsd元素。-->

<modelVersion>4.0.0</modelVersion>

<!-- modelVersion指定当前POM模型的版本,如果安装的是Maven2或者Maven3,那么这个值只能是4.0.0 -->

<groupId>com.java.world</groupId>

<!-- groupId是项目的唯一标识符,一般使用全限定的包名来区分该项目和其他项目,并且构建时生成的路径也是由此生成 -->

<artifactId>helloworld</artifactId>

<!-- artifactId是构件标识符,和groupId一起来唯一标识一个构件,不能有2个不同的项目同时拥有同样的groupId和artifactId

在某个特定的groupId下,artifactId必须是唯一的。  -->

<!-- 构件是项目产生或使用的一种东西,Maven为项目产生的构件包括:jar包、源码、二进制发布和部署包WAR等 -->

<version>1.0</version>

<!-- version是项目当前的版本,格式为:主版本.次版本.增量版本-限定版本号 -->

<packaging>jar</packaging>

<!-- packaging项目产生的构件类型,如jar,war,ear,pom等 -->

<name>MavenWorld</name>

<!-- name是项目名称,Maven产生的文档使用,非必需 -->

<url>http://www.ansq.com</url>

<!-- url是项目主页的URL,Maven产生的文档使用,非必需 -->

<dependencies>

<dependency>

<groupId>junit</groupId>

<artifactId>junit</artifactId>

<version>4.7</version>

<scope>test</scope>

<!-- scope代表了插件的应用环境范围,例如:如果是test,则只有位于src/test/java目录下的程序能够访问并使用;其他目录下的JAVA程序访问时,会产生编译错误  -->

</dependency>

</dependencies>

<!-- dependencies表示多处依赖 -->

</project>

 

第五步:运行基于test的mvn命令

使用:mvn clean test

实战1:基础实战

实战1:基础实战

 

 

跟之前一样,从Maven*仓库下载junit插件,可以通过这个目录查看:C:\Users\XXXXXX\.m2\repository\junit\junit\4.7

然后在target目录下新创建了test-classes目录:

实战1:基础实战

 

注意:

main里面的源文件编译后放在target/classes目录下

test里面的源文件编译后放在target/test-classes目录下

第六步:打jar包

mvn clean package

实战1:基础实战

实战1:基础实战

 

 

同样的,也是从Maven*仓库下载插件,可以通过这个目录查看:C:\Users\XXXXX\.m2\repository\org\apache\maven\plugins\

maven-jar-plugin

最后,我们发现在target根目录下有个helloworld-1.0.jar,该文件的命名是由POM.XML中的<artifactId/>-<version/>.jar拼接而成:

实战1:基础实战

 

然后我们打开jar文件,发现:测试的JAVA文件并不参与打过过程:

实战1:基础实战

 

第七步:把生成的JAR发布到本地Maven仓库

mvn clean install

实战1:基础实战

实战1:基础实战

 

 

同样的,也是从Maven*仓库下载插件,可以通过这个目录查看:C:\Users\XXXX\.m2\repository\org\apache\maven\plugins\

maven-install-plugin

至于我们的JAR到底在哪里呢,可以查看这个目录:C:\Users\XXXXX\.m2\repository\com\java\world\helloworld\1.0,该目录下有3个文件:

helloworld-1.0.jar

_remote.repositories

helloworld-1.0.pom(内容就是pom.xml里面的内容)