Maven学习3

 

利用Maven创建项目

$ mvn archetype:create -DgroupId=org.sonatype.mavenbook.ch03 \ -DartifactId=simple \

mvn Maven2 的命令。archetype:create 称为一个Maven 目标 (goal)

-Dname=value 这样的对是将会被传到目标中的参数,它们使用-D 属性这样的形式[1],类似于你通过命令行向Java 虚拟机传递系统属性。archetype:create 这个目标的目的通过archetype快速创建一个项目。在这里,一个archetype 被定义为“一个原始的模型或者类型,在它之后其它类似的东西与之匹配;一个原型(prototype)”。Maven 有许多可用的archetype从生成一个简单的Swing 应用,到一个复杂的Web 应用。本章我们用最基本的archetype 来创建一个入门项目的骨架。这个插件的前缀是“archetype”,目标为”create”。

simple/

simple/pom.xml

/src/

/src/main/

/main/java

/src/test/

/test/java

Maven Archtype 插件创建了一个与artifactId 匹配的目录——simple。这是项目的基础目录。

每个项目在文件pom.xml 里有它的项目对象模型 (POM)。这个文件描述了这个项目,配置了插件,声明了依赖。

我们项目的源码了资源文件被放在了src/main 目录下面。在我们简单Java 项目这样的情况下,这个目录包含了一下java 类和一些配置文件。在其它的项目中,它可能是web 应用的文档根目录,或者还放一些应用服务器的配置文件。在一个Java 项目中,Java 类放在src/main/java 下面,而classpath 资源文件放在src/main/resources 下面。

我们项目的测试用例放在src/test 下。在这个目录下面,src/test/java 存放像使用JUnit 或者TestNG这样的Java 测试类。目录src/test/resources 下存放测试classpath 资源文件。

利用Maven构建项目

想要构建打包这个应用,在包含pom.xml 的目录下运行mvn install

Maven默认的pom.xml文件

-----------------------------------------------------------------------------------------------------------------

<project xmlns="http://maven.apache.org/POM/4.0.0"

      xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance"

      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0

      http://maven.apache.org/mavenv4_0_0.xsd">

    <modelVersion>4.0.0</modelVersion>

    <groupId>org.sonatype.mavenbook.ch03</groupId>

    <artifactId>simple</artifactId>

    <packaging>jar</packaging>

    <version>1.0SNAPSHOT</version>

    <name>simple</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>

---------------------------------------------------------------------------------------------------------------------------------------------------

最开始的几个元素——groupId artifactId, packaging, version—— Maven 的坐标(coordinates),它们唯一标识了一个项目。name url POM 提供的描述性元素,它们给人提供了可阅读的名字,将一个项目关联到了项目web 站点。最后,dependencies 元素定义了一个单独的,测试范围(test-scoped)依赖,依赖于称为JUnit 的单元测试框架。
posted @ 2009-04-27 09:38  沉默的池塘  阅读(478)  评论(0)    收藏  举报