Maven学习篇(一)---快速入门

来源:互联网 发布:手机发光字软件 编辑:程序博客网 时间:2024/06/05 19:34

什么是Maven

Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。

特点:

项目构建:清理、编译、测试、打包、发布
依赖管理:将项目依赖 插件、jar 等自动关联(如果需要使用jar只需要提供配置文件,maven自动下载)
特点:依赖网络

maven所有操作使用“插件”,默认插件需要下载。

一个项目对象模型:POM、product object model,必须提供一个pom.xml(核心配置文件)

maven 有自己的项目结构,此结构称为:骨架

约定优于配置的思想,maven规定以什么目录结构存放内容、规定输出到什么位置等。

maven 安装,安装后只是一个框架,没有实际内容。

Maven的生命周期



Maven 的生命周期在你运行 mvn install 的时候被调用。这条命令告诉 Maven 执行一系列的有序的步骤,直到到达你指定的生命周期。

    validate

    generate-sources

    process-sources
    generate-resources
    process-resources     复制并处理资源文件,至目标目录,准备打包。
    compile     编译项目的源代码。
    process-classes
    generate-test-sources 
    process-test-sources
    generate-test-resources
    process-test-resources     复制并处理资源文件,至目标测试目录。
    test-compile     编译测试源代码。
    process-test-classes
    test     使用合适的单元测试框架运行测试。这些测试代码不会被打包或部署。
    prepare-package
    package     接受编译好的代码,打包成可发布的格式,如 JAR 。
    pre-integration-test
    integration-test
    post-integration-test
    verify
    install     将包安装至本地仓库,以让其它项目依赖。
    deploy     将最终的包复制到远程的仓库,以让其它开发人员与项目共享。
    deploy     将最终的包复制到远程的仓库,以让其它开发人员与项目共享。
    deploy     将最终的包复制到远程的仓库,以让其它开发人员与项目共享。


Maven的名词解释

Project:

任何您想build的事物,Maven都可以认为它们是工程。这些工程被定义为工程对象模型(POM,Poject Object Model)。一个工程可以依赖其它的工程;一个工程也可以由多个子工程构成。


POM:

POM(pom.xml)是Maven的核心文件,它是指示Maven如何工作的元数据文件,类似于Ant中的build.xml文件。POM文件位于每个工程的根目录中。


GroupId:

groupId是一个工程的在全局中唯一的标识符,一般地,它就是工程名。groupId有利于使用一个完全的包名,将一个工程从其它有类似名称的工程里区别出来。


Artifact:

artifact 是工程将要产生或需要使用的文件,它可以是jar文件,源文件,二进制文件,war文件,甚至是pom文件。每个artifact都由groupId和 artifactId组合的标识符唯一识别。需要被使用(依赖)的artifact都要放在仓库Repository中,否则Maven无法找到 (识别)它们。


Dependency:

为了能够build或运行,一个典型的Java工程会依赖其它的包。在Maven中,这些被依赖的包就被称为dependency。dependency一般是其它工程的artifact。


Plug-in:

Maven是由插件组织的,它的每一个功能都是由插件提供的。插件提供goal(类似于Ant中的target),并根据在POM中找到的元数据去完成工作。主要的Maven插件要是由Java写成的,但它也支持用Beanshell或Ant脚本写成的插件。


Repository:仓库。


Maven常用命令

mvn archetype:create 创建Maven项目

mvn compile 编译源代码
mvn deploy 发布项目
mvn test-compile 编译测试源代码
mvn test 运行应用程序中的单元测试
mvn site 生成项目相关信息的网站
mvn clean 清除项目目录中的生成结果
mvn package 根据项目生成的jar
mvn install 在本地Repository中安装jar
mvn eclipse:eclipse 生成eclipse项目文件
mvnjetty:run 启动jetty服务
mvntomcat:run 启动tomcat服务
mvn clean package -Dmaven.test.skip=true:清除以前的包后重新打包,跳过测试类

0 0
原创粉丝点击