maven2笔记3

  • 项目团队信息

<organization>

<name/>

<url/>

</organization>


<developers>

<developer>

<id/>

<name/>

<email/>

<url/>

<organization/>

<organizationUrl/>

<roles/>

<timezone/>

<properties/>

</developer>

</developers>



<contributors>

<contributor>

<name/>

<email/>

<url/>

<organization/>

<organizationUrl/>

<roles/>

<timezone/>

<properties/>

</contributor>

</contributors>


  • 源码库信息

<scm>

<connection/>

<developerConnection/>

<tag/>

<url/>

</scm>

默认情况下这些文档将生成在$basedir/src/site目录下。

需要得到其他的报告,则需要配置其他的报告插件。

要想了解更多的信息,请参考以下网页:

http://cvs.peopleware.be/training/maven/maven2/morePlugins.html

依赖管理

这里我们通过使用外部依赖(external dependencies)来大家对maven的依赖管理有一个简单而具体的了解。

当我们在做一个工程的时候,不可能一切都是从空白开始,对于我们做Web应用的来说,使用框架已经司空见惯,而这种对框架的引入使用对于Maven来说,就是工程的依赖。而我们的工程要进行测试,则不能少了对Junit框架的依赖。

依赖管理是maven的一个主要特征,这个是对于用户来说,是Maven令人振奋的一个最著名的特征。对于一个单一的工程来说,依赖管理没有什么困难的,但是当你开始处理多个模块的工程或由10多个甚至上百个模块组成的应用程序时, Maven能帮助你轻松稳定的控制这些大量的依赖。

在pom.xml中dependencies部分列出了所有外部依赖,详细描述了在编译时,测试时,运行时是否需要这个依赖。现在,假定我们的工程只有对Junit的依赖。它的pom.xml文件可能如下:

<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>com.mycompany.app</groupId>

<artifactId>my-app</artifactId>

<packaging>jar</packaging>

<version>1.0-SNAPSHOT</version>

<name>Maven Quick Start Archetype</name>

<url>http://maven.apache.org</url>

<dependencies>

<dependency>

<groupId>junit</groupId>

<artifactId>junit</artifactId>

<version>3.8.1</version>

<scope>test</scope>

</dependency>

</dependencies>

</project>

从以上pom.xml文件可以看出,定义一个外部依赖(external dependencies)至少需要4个元素:groupId, artifactId, version, and scope。对于groupId, artifactId, version的意思,和前面我们在创建工程时提到的这几个元素的意义相同,这里就不再重复介绍,scope元素指出你的工程如何使用依赖,并且它的值有compile,test和runtime等等。想要了解更多的依赖说明的信息,请看

http://maven.apache.org/maven-model/maven.html

要想了解完整的依赖机制,请看

http://maven.apache.org/guides/introduction/introduction-to-dependency-management.html


有了这些依赖信息,Maven将能在工程构建时引用依赖。

引用的过程是:

首先,在本地仓库(默认的本地仓库地址为:~/.m2/repository)中查找此依赖是否存在。

再次,如果在本地仓库中未发现,则在远程仓库中下载此依赖,并下载到本地仓库中。

最后,通过以上两个步骤就能找到依赖。如果远程仓库无法访问,则可以设置其他远程仓库。具体请看

http://maven.apache.org/guides/introduction/introduction-to-repositories.html


一个简单的例子。比如我们要添加一个log4j到我们的工程中。

首先.需要了解log4j的groupId, artifactId, and version信息。可在google上搜索“site:www.ibiblio.org maven2 log4j”。这样在搜索结果里可以找到/maven2/log4j/log4j (or /pub/packages/maven2/log4j/log4j)这样的目录,在这个目录中有一个文件叫做maven-metadata.xml。这个文件内容如下所示:

<metadata>

<groupId>log4j</groupId>

<artifactId>log4j</artifactId>

<version>1.1.3</version>

<versioning>

<versions>

<version>1.1.3</version>

<version>1.2.4</version>

<version>1.2.5</version>

<version>1.2.6</version>

<version>1.2.7</version>

<version>1.2.8</version>

<version>1.2.11</version>

<version>1.2.9</version>

<version>1.2.12</version>

</versions>

</versioning>

</metadata>

这样我们能找到groupId为log4j,artifactId为log4j,version当然要用最新的,选择1.2.12。scope我们设置为compile。

这样我们使用mvn compile 编译工程时,会看到mvn下载了log4j到我们的本地仓库。


你可能感兴趣的:(apache,maven,框架,log4j,JUnit)