美文网首页
Maven学习笔记

Maven学习笔记

作者: gengh | 来源:发表于2016-08-31 19:26 被阅读0次

maven构件:artifact

生命周期阶段:phase

插件:plugin ->:单个或多个目标的集合

插件目标:goal ->一个目标是一个明确的任务,可以作为单独的目标运行,或者作为一个大的构建的一部分和其他目标一起运行

###Hello World:

①使用maven创建工程:mvn -B archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DgroupId=com.companyname.maven.study -DartifactId=exer1 -DpackageName=com.companyname.maven.study

命令详解:

mvn:是maven2的命令

archetype:generate称为一个 maven 目标,描述了将会在构建中完成的工作单元(unit of work)

-Dname=value:传入目标中的参数,

####pom.xml文件:

groupId , artifactId ,  packaging ,  version,是maven的坐标,他们唯一标识了一个项目

name , url 是POM提供的描述下元素

dependencies:定义项目的依赖

####生命周期:包含在一个项目构建中的一系列有序的阶段

生命周期阶段(phase):“构建生命周期中的一个步骤”,可以用生命周期阶段作为参数来运行 maven

注意:maven执行一个阶段的时候,回依次有序的执行前面的所有阶段,到命令指定的那个阶段为止。

####maven坐标(coordinates):用来唯一标识一个项目

groupId:团体、小组、组织、项目或其他团体,团体标识的约定是,以创建这个项目的组织名称的逆向域名开头

artifact:在groupId下的表示一个单独的项目的唯一标识符

version:一个项目的特定版本

maven仓库:是一个项目构件的集合

####依赖管理(Dependency Management):

一个项目将会包含很多依赖,也有可能包含依赖于其他构件的依赖,但是不用担心,maven 有一个强大的功能:支持传递依赖(transitive dependen)。你不必找出所有这些依赖然后把它们写在你的 pom.xml 里,你只需要加上你直接依赖的那些库,Maven会隐式的把这些库间接依赖的库也加入到你的项目中。Maven也会处理这些依赖中的冲突,同时能让你自定义默认行为,或者排除一些

定的传递性依赖。

###mvn:site:生成站点和报告。

site生命周期阶段不像默认生命周期阶段那样管理代码的生成,操作资源、编译、打包等等,site生命周期只关心处理在src/site目录下的site类容。

Maven Exec 插件:Exec插件允许你运行Java类和其他脚本,想要查看它的完整描述,可以执行:mvn help:describe -Dplugin=exec -Dfull

mvn dependency:resolve:浏览项目依赖

mvn dependency:tree:浏览依赖树

如果想要查看完整的依赖踪迹,包含那些因为冲突或者其它原因而被拒绝引入的构件,打开 Maven 的调试标记运行:mvn install -X

###执行测试:mvn test

如果想要忽略失败的测试,让即使测试失败仍然可以产生构建输出,可以设置  Surefire 的 testFailureIgnore 这个属性为 true:

mvn test -Dmaven.test.failure.ignore=true

如果想要跳过单元测试,只需要使用Surefire 插件的 skip 参数:mvn install -Dmaven.test.skip=true。也可以通过配置pom.xml实现:

使用 Maven Assembly 插件的预定义装配描述符生成一个可分发的 JAR 文件:

Maven Assembly插件是一个用来创建你应用程序特有分发包的插件,你可以使用该插件以你希望的任何形式来装配输出,只需定义一个自定义的装配描述符。

要配置Maven Assembly插件,需要在 pom.xml 中添加如下配置:

添加好配置之后,可以通过运行 mvn assembly:assembly 来构建这个装配。

相关文章

  • maven学习笔记

    maven学习笔记 2016年1月6日 一、maven安装 windows下maven安装安装maven前,首先要...

  • 自动化构建工具Maven

    该心得全部来源于菜鸟教程-maven以及尚硅谷Java视频教程_Maven的学习过程笔记。 Maven:一个纯Ja...

  • maven学习笔记

    什么是maven maven是基于项目对象模型(Project·Object·Model --> POM),可以通...

  • Maven学习笔记

    简述 Maven在我们的目前的工作中是使用最广泛的工具之一,它在我们编译,打包,部署等等各个环节都发挥着非常重要的...

  • Maven学习笔记

    Maven概述 Maven定义Maven是一个项目管理和整合,统一管理jar包的工具;Maven为开发者提供了一套...

  • Maven学习笔记

    自动建立目录骨架 Maven创建目录的两种方式:1.archetype:generate 按照提示进行选择。2.a...

  • maven学习笔记

    构建命令介绍 mvn -v 查看maven版本 mvn compile 编译 mvn test 测试 mvn...

  • Maven学习笔记

    阅读《Maven实战》许晓斌的一些笔记,便于自己和道友查阅 maven依赖 maven具有传递性依赖,比如 A 依...

  • Maven学习笔记

    maven构件:artifact 生命周期阶段:phase 插件:plugin ->:单个或多个目标的集合 插件目...

  • Maven学习笔记

    引言:Mavne相必大多数java开发者都比较熟悉;可以将它理解为一个项目的管理工具,它是一个可以两三行代码就可构...

网友评论

      本文标题:Maven学习笔记

      本文链接:https://www.haomeiwen.com/subject/kiezsttx.html