Maven学习笔记(入门篇)

Maven是一个采用纯Java编写的开 源项目管理工具。Maven采用了一种被称之为project object model (POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做POM.xml的文件中,通过该文件,Maven可以管理项目的整个声明周期,包括编 译,构建,测试,发布,报告等等。目前Apache下绝大多数项目都已经采用Maven进行管理。而Maven本身还支持多种插件,可以方便更灵活的控制 项目。 


一、安装Maven

1、http://maven.apache.org/download.cgi下载地址:


补充一句:.tar.gz和.zip这两种文件的区别:其实这两个压缩文件里面包含的内容是一样的,只是压缩格式不一样,tar.gz格式的文件比zip文件要小不少。tar.gz压缩格式用于unix的操作系统,而zip用于windows的操作系统,但在windows系统中用WinRar工具同样可以解压缩tar.gz格式的,所以下载时不用担心或是疑惑什么!


2,、解压文件



3、配置环境变量

M2_HOME : D:\WorkApp\apache-maven-3.3.9 
   PATH : %M2_HOME%\bin; 


4:验证安装是否成功 
在命令行上输入 : mvn -version; 回车,如看到下面信息表示安装成功:




二、创建第一个Maven项目

1,新建如下目录结构


其中:src/main/java 目录包含了项目的源代码,src/test/java 目录包含了项目的测试代码,pom.xml是项目的项目对象模型(Project Object Model or POM)。 


2:POM
pom.xml 文件是maven对一个项目的核心配置,这个文件将包含你希望如何构建项目的大多数配置信息。POM大而复杂,但你不用全部去了解,只要使用一些常用的配置就可以了。下面列出这个POM的内容: 

<?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">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.ionesmile.mavenhello</groupId>
  <artifactId>mavenhello</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>jar</packaging>
  <dependencies>
	<dependency>
		<groupId>junit</groupId>
		<artifactId>junit</artifactId>
		<version>4.7</version>
		<scope>test</scope>
	</dependency>
  </dependencies>
  
  <build>
    <plugins>
  	  <plugin>
  	    <groupId>org.apache.maven.plugins</groupId>
  	    <artifactId>maven-compiler-plugin</artifactId>
  	    <configuration>
  	      <source>1.5</source>
  	      <target>1.5</target>
  	    </configuration>
  	  </plugin>
  	  <plugin>
  	    <groupId>org.apache.maven.plugins</groupId>
  	    <artifactId>maven-shade-plugin</artifactId>
  	    <version>1.2.1</version>
  	    <executions>
  	      <execution>
  	        <phase>package</phase>
  	        <goals>
  	          <goal>shade</goal>
  	        </goals>
  	        <configuration>
  	          <transformers>
  	            <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
  	              <mainClass>com.ionesmile.mavenhello.SayHello</mainClass>
  	            </transformer>
  	          </transformers>
  	        </configuration>
  	      </execution>
  	    </executions>
  	  </plugin>
    </plugins>
  </build>
</project>

所有的Maven项目都必须配置这四个配置项:
<modelVersion>4.0.0</modelVersion> <!-- 当前POM模型的版本,相对于Maven2和Maven3,这里只能是4.0.0 -->
<groupId>com.ionesmile.mavenhello</groupId>    <!--groupId指的是项目名的项目组,默认就是包名-->
<artifactId>mavenhello</artifactId>    <!--artifactId指的是项目中的某一个模块,默认命名方式是"项目名-模块名"-->
<version>SNAPSHOT-0.0.1</version>     <!--version指的是版本,这里使用的是Maven的快照版本-->
// 可选项
<packaging>jar</packaging>    <!--packaging项目的类型,默认是jar,描述了项目打包后的输出。类型为jar的项目产生一个JAR文件,类型为war的项目产生一个web应用。-->


3、编写主代码

在src ---> mavenHello目录下:

package com.ionesmile.mavenhello;

public class SayHello {

   public String sayHello() {
	   return "Hello, Maven";
   }
   public static void main(String[] args) {
	   SayHello h = new SayHello();
	   System.out.println(h.sayHello());
   }
}

编写完成后,在DOS下使用 mvn clean  compile命令进行编译,然后会出现一堆输出。等待一下,直到出现 BUILD SUCCESSFUL


4,测试代码

在test ---> mavenHello目录下:

package com.ionesmile.mavenhello;

import static org.junit.Assert.assertEquals;
import org.junit.Test;

public class SayHelloTest {
   
   @Test
   public void testSayHello(){
	   SayHello sayHello = new SayHello();
	   String result = sayHello.sayHello();
	   
	   assertEquals("Hello, Maven", result);
   }
}
编写完成后,运行 mvn clean test 命令。

注:执行Test需要依赖junit框架,上面pom.xml中已经加入,见<dependencies>标签。

另外在这里如果人品不好,可能会出现两个问题,我在配置的时候出现了第二个问题,第一个问题也提出来,避免遇到坑。

问题一:


第二个问题:

出现如下异常:BUILE FAILURE
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginResolutionException

解决办法,详见:http://stackoverflow.com/questions/29147329/unable-to-create-a-new-maven-hello-world-project




5、打包和运行

执行 mvn clean package 命令,会生成\target\mavenhello-1.0-SNAPSHOT.jar文件.

执行 mvn clean install 命令,会将该jar文件导入到本地仓库。文件路径为:仓库路径 + groupId + artifactId,如:D:\WorkApp\AppWorkSpace\MavenSpace\com\ionesmile\mavenhello\mavenhello\1.0-SNAPSHOT\mavenhello-1.0-SNAPSHOT.jar

   这里我的仓库位置为D:\WorkApp\AppWorkSpace\MavenSpace,是因为我改动了apache-maven-3.3.9\conf\settings.xml,改动如下:


如果不改动,就是上面默认的路径:${user.home}/.m2/repository,如:C:\Users\Administrator\.m2\repository


6,在控制台输出“Hello, Maven”



从安装maven到运行Hello Maven的完整步骤到这里就结束了,非常感谢下列资料提供的指导。

参考图书:《Maven实战》

参考网址:http://wentao365.iteye.com/blog/903396/

发布了50 篇原创文章 · 获赞 22 · 访问量 13万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章