Maven学习

来源:互联网 发布:蓝牙模块调试软件 编辑:程序博客网 时间:2024/06/16 00:31

Maven采用了一种被称之为Project Object Model(POM)概念来管理系统,所有项目配置信息都被定义在一个POM.xml文件中。通过该文件Maven可以管理整个项目的生命周期。包括编译、构建、测试、发布、报告等等。

Apache几乎所有的项目都用Maven框架来管理。

1、Maven下载地址

      http://maven.apache.org/download.html

2、解压到D:/

3、在环境变量中添加以下环境变量。

      MAVEN-HOME : D:\apache-maven-3.2.5

      MAVEN : %MAVEN-HOME%\bin

      MAVEN-OPTS : -Xms256m -Xmx512m

      将%MAVEN%添加到PATH环境变量中。

4、验证MAVEN是否已经安装成功

      在CMD窗口中输入MVN -version ,检查能否正确输出对应MAVEN信息

5、运行命令创建自己的MAVEN工程:mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app

6、POM

pom.xml文件是maven对一个项目的核心配置,这个文件将包含你希望如何构建项目的大多数配置信息。


<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.hoperun.test</groupId>  <artifactId>my-test</artifactId>  <version>1.0-SNAPSHOT</version>  <packaging>jar</packaging>  <name>my-test</name>  <url>http://maven.apache.org</url>  <properties>    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  </properties>  <dependencies>    <dependency>      <groupId>junit</groupId>      <artifactId>junit</artifactId>      <version>3.8.1</version>      <scope>test</scope>    </dependency>  </dependencies></project>
7、我们在第5步做了 mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app

执行Maven命令 archetype:create,并且设置了一些参数(-DgroupId=com.mycompany.app -DartifactId=my-app

在这个命令中,前缀archetype是包含create命令的一个maven的plugin。这个goal命令根据项目原型建立一个简单的项目。

现在可以确定地说,一个maven plugin就是一些有着相同目的的goals命令的集合,例如jboss-maven-plugin这个插件,就是为了处理各种和jboss相关的任务。

8、build项目

在命令行上输入:cd my-app回车,进入到my-app项目目录下

在输入mvn package回车,这时命令行将会打印出各种动作,并且以下面一段信息结束。

9、运行maven工具

以下为maven命令的列表,可以参照。

validate:检证工程是否正确,所有需要的资源是否可用。

compile:编译项目的源代码

test使用合适的单元测试框架来策划死已编译的源代码。这些测试不需要已打包和部署。

integration-test:如有需要,将包处理和发布到一个能够进行集成测试的环境。

verify:运行isuoyou检查,验证包是否有效且达到质量标准。

install:把包安装在本地的repository中,可以被其他工程作为以来来使用。

deploy:在继承或者发布环境下执行,将最终版本的包拷贝到远程的repository,使得其他的开发者可以共享。

clean:清除先前构建的artifacts。

site:为项目生成文档站点。

上面列出的各个阶段实际上对应着潜在的goals,特殊的每个阶段执行特殊的goals由项目的类型所决定。

phases和goals需要按一定的顺序来执行。

mvn site

这个阶段生成基于pom.xml配置的吸纳过目信息。你可以在target/site目录下看到生成的文档。

0 0