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/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>org.sonatype.mavenbook.ch03</groupId>
<artifactId>simple</artifactId>
<packaging>jar</packaging>
<version>1.0‐SNAPSHOT</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 的单元测试框架。

浙公网安备 33010602011771号