Apache Maven(多功能软件项目管理与开发工具)
v3.6.3 免费版- 软件大小:18.52 MB
- 更新日期:2020-12-07 14:34
- 软件语言:英文
- 软件类别:编程工具
- 软件授权:免费版
- 软件官网:待审核
- 适用平台:WinXP, Win7, Win8, Win10, WinAll
- 软件厂商:
软件介绍 人气软件 下载地址
Apache Maven是一款多功能软件项目管理和开发工具,基于项目对象模型(POM)的概念,它可以从中央信息中管理项目的构建,报告和文档;Maven是Apache软件基金会的一部分,Maven是意第绪语,意为知识的积累,最初是为了简化Jakarta Turbine项目中的构建过程;有几个项目,每个项目都有其Ant构建文件,所有项目都略有不同,JAR已检入CVS,一种发布项目信息的简便方法,以及在多个项目之间共享JAR的方法;该程序的主要目标是使开发人员能够在最短的时间内理解开发工作的完整状态,为了实现此目标,应用程序尝试处理以下几个方面的问题:简化构建过程、提供统一的构建系统、提供优质的项目信息、提供最佳实践开发指南、允许透明迁移到新功能;它提供了大量有用的项目信息,这些信息部分来自您的POM,部分来自您的项目源,例如它可以提供:更改直接从源代码管理创建的日志文档,交叉引用来源,项目管理的邮件列表清单,依赖清单,单元测试报告,包括覆盖范围!
软件功能
遵循最佳实践的简单项目设置-数秒钟即可启动新项目或模块
所有项目的用法一致-意味着新开发人员无需花费大量时间来参与项目
高级依赖管理,包括自动更新,依赖关闭(也称为传递依赖)
能够轻松地同时处理多个项目
开箱即用的庞大且不断增长的库和元数据存储库
以及与大型开放源代码项目的安排,可实时获取其最新版本
可扩展,能够轻松用Java或脚本语言编写插件
几乎无需额外配置即可立即访问新功能
在应用程序外部进行依赖项管理和部署的Ant任务
基于模型的构建:Maven能够将任何数量的项目构建为预定义的输出类型
例如JAR,WAR或基于有关该项目的元数据的分发,而在大多数情况下无需执行任何脚本。
项目信息的一致站点:使用与构建过程相同的元数据
软件特色
Apache Maven能够生成一个网站或PDF,其中包括您希望添加的任何文档
并将有关项目开发状态的标准报告添加到该标准报告中。
该信息的示例可以在本网站左侧导航的底部的项目信息和项目报告子菜单下看到。
发布管理和发行发布:无需进行太多额外配置
它将与您的源代码控制系统(例如Subversion或Git)集成,并基于特定标签管理项目的发布。
它还可以将其发布到分发位置,以供其他项目使用。
该应用程序能够发布单个输出,例如JAR,包含其他依赖项和文档的存档或作为源分发。
依赖性管理:鼓励使用JAR和其他依赖性的中央存储库。
它带有一种机制,您的项目的客户可以使用该机制从中央JAR存储库中下载构建项目所需的任何JAR
就像Perl的CPAN一样。
这使Maven的用户可以在项目之间重用JAR,并鼓励项目之间进行通信,以确保解决向后兼容性问题
使用教程
用户可以直接通过此网站下载对应的安装包,然后即可进行解压,双击程序即可将其打开
双击后,即可弹出对应的用户界面,整个用户界面的功能模块分布非常清晰
可用插件
Maven本质上是一个插件执行框架。
所有工作都由插件完成。寻找执行的特定目标?
此页面列出了核心插件和其他插件。有构建和报告插件:
构建插件将在构建期间执行,并且应在POM中的元素中对其进行配置。
报告插件将在网站生成期间执行,并且应在POM的元素中进行配置。
由于Reporting插件的结果是生成的网站的一部分,因此Reporting插件应同时进行国际化和本地化。
由Maven项目支持
要查看最新列表,请浏览Maven存储库,尤其是子文件夹。
插件是按照类似于标准Java包命名约定的目录结构组织的org/apache/maven/plugins
animal-sniffer构建API的签名(例如JDK)并根据它们检查您的类。
build-helper附加要构建的工件和源文件夹。
castor使用Castor从XSD生成源。
clirr使用Clirr比较二进制文件或源文件的兼容性
javacc从JavaCC语法生成源。
jdepend使用JDepend生成有关代码指标的报告。
nar-maven-plugin针对不同架构编译C,C ++,Fortran。
native使用本机编译器编译C和C ++代码。
sql从文件或内联执行SQL脚本。
taglist根据代码中的标记生成任务列表。
versions管理项目的版本,其模块,依赖项和插件。
在Maven中,有两种插件,即build和report:
构建插件在构建期间执行,并在元素中配置。
报告插件在网站生成期间执行,并在元素中配置。
所有的插件应该有最低所需信息:groupId,artifactId和version。
重要说明:始终定义构建使用的插件的每个版本,以确保构建的可重复性。
一个好的做法是在每个构建插件的元素中指定它们。
通常,您将在父POM中定义元素
对于报告插件,请在元素中(当然也要在元素中)指定每个版本。
通用配置
通过指定一个元素来配置Maven插件(构建和报告)
其中该元素的子元素映射到Mojo内部的字段或设置器。
请记住,一个插件由一个或多个Mojo组成,其中Mojo映射到一个目标。
例如,您有一个Mojo可以针对具有特定超时和选项列表的特定URL执行查询。Mojo可能如下所示:
要使用所需的URL,超时和选项从POM配置Mojo,您可能需要执行以下操作:
配置中的元素与Mojo中的字段名称匹配。
映射是直接的,url元素映射到url字段,timeout元素映射到timeout字段,options元素映射到options字段。
映射机制可以通过检查字段的类型并确定是否可能进行适当的映射来处理数组。
对于打算直接从CLI执行的Mojo,它们的参数通常提供了一种通过系统属性而不是POM中的部分进行配置的方法。
这些参数的插件文档将列出一个表达式,该表达式表示配置的系统属性。
在上面的Mojo中,参数url与expression关联${query.url}
这意味着其值可以由系统属性指定,query.url如下所示:
MVN更改为MyQuery :查询- Dquery 。URL = HTTP ://maven.apache.org
系统属性的名称不一定与mojo参数的名称匹配。
尽管这是一种相当普遍的做法,但您经常会注意到插件为系统属性使用了一些前缀
以避免名称与其他系统属性发生冲突
尽管很少,但也有一些插件参数(例如由于历史原因)采用了与参数名称完全无关的系统属性。
因此,请务必仔细阅读插件文档。
帮助目标
大多数Maven插件都有一个help目标,即打印该插件及其参数和类型的描述。
例如,要查看有关Javadoc目标的帮助,请输入:
MVN的javadoc :帮助- Ddetail - Dgoal =的javadoc
映射复杂对象
映射复杂类型也相当简单。让我们看一个简单的示例,在该示例中我们尝试映射Person对象的配置。
该元素可能如下所示:
映射复杂对象的规则如下:
必须有一个私有字段,该字段对应于要映射的元素的名称。
因此,在本例中,person元素必须映射到personmojo中的字段。
实例化的对象必须与Mojo本身位于同一包中。
因此,如果您的mojo在其中,com.mycompany.mojo.query则映射机制将在该程序包中查找名为的对象Person。
该机制将元素名称的首字母大写,并使用该字母搜索要实例化的对象。
如果希望将要实例化的对象放在另一个包中或使用更复杂的名称,请使用如下implementation属性来指定该对象:
映射集合
配置映射机制可以轻松处理大多数集合,因此让我们来看一些示例,向您展示它是如何完成的:
映射列表
映射列表的工作方式与映射到数组的方式几乎相同,在数组中,您将元素列表映射到列表。
因此,如果您有如下所示的mojo:
如果您有一个名为的字段,animals那么该插件的配置将如下所示:
列出的每只动物都将在该animals字段中输入。
与数组不同,集合没有特定的组件类型。为了导出列表项的类型,使用以下策略:
如果XML元素包含一个implementation提示属性,则使用该属性
如果XML标记包含.,请尝试将其作为完全限定的类名
在与要配置的mojo / object相同的程序包中,尝试将XML标签(首字母大写)作为一个类使用
如果元素没有子元素,则假定其类型为String。否则,配置将失败。
标识为“ execution1”的第一次执行会将此配置绑定到测试阶段。
第二个执行没有标签,您如何看待该执行?好吧,目标可以具有默认的阶段绑定,如下所述
如果目标具有默认阶段绑定,那么它将在该阶段执行。
但是,如果目标未绑定到任何生命周期阶段,那么就不会在构建生命周期内执行该目标。
请注意,尽管执行ID在POM内单个插件的所有执行中必须是唯一的,但它们在POM的继承层次结构中不必是唯一的。
来自不同POM的具有相同ID的执行将合并。这同样适用于配置文件定义的执行。
如果我们有绑定到不同阶段的多个执行怎么办?您如何看待它的表现?
让我们再次使用上面的示例POM,但是这次我们将绑定execution2到一个阶段。
如果有多个执行绑定到不同的阶段,则对所指示的每个阶段执行一次mojo。
意思是,execution1将在构建阶段进行测试execution2时应用配置设置来执行
而在构建阶段已经安装时将应用配置设置来执行。
现在,让我们有另一个mojo示例,它显示默认的生命周期阶段绑定。
现在,MyBoundQueryMojo默认阶段(即软件包)已被安装阶段覆盖。
注意:元素内部的配置与外部的配置不同
因为不能从直接命令行调用中使用它们,因为它们仅在绑定到它们的生命周期阶段时才应用。
因此,您必须将配置部分移到执行部分之外,才能将其全局地应用于插件的所有调用。
从Maven 3.3.1开始,情况不再如此,您可以在命令行上指定直接插件目标调用的执行ID。
因此,如果您想从命令行运行上述插件及其特定的execution1的配置,则可以执行:
mvn myqyeryplugin :queryMojo @ execution1
使用标签
您可以配置Build插件的依赖性,通常使用更新的依赖性版本。
例如,Maven Antrun插件版本1.2使用Ant版本1.6.5
如果要在运行此插件时使用最新的Ant版本,则需要添加如下元素:
配置报告插件
以下仅用于在元素中配置Reporting插件。
使用标签VS标签
在<报告>配置报告插件或<建立>在POM元素确实不具有相同的行为!
mvn site
它仅使用在元素中指定的每个报告插件的元素中定义的参数
即site始终忽略在中指定的每个插件的元素中定义的参数。
mvn aplugin:areportgoal
它首先使用在元素中指定的每个报告插件的元素中定义的参数;
如果找不到参数,它将查找在中指定的每个插件的元素中定义的参数。
使用标签
您可以使用标签配置报告插件。它最常用于在运行时有选择地生成报告mvn site。以下将仅生成项目团队报告。
人气软件
-
redis desktop manager2020.1中文 32.52 MB
/简体中文 -
s7 200 smart编程软件 187 MB
/简体中文 -
GX Works 2(三菱PLC编程软件) 487 MB
/简体中文 -
CIMCO Edit V8中文 248 MB
/简体中文 -
JetBrains DataGrip 353 MB
/英文 -
Dev C++下载 (TDM-GCC) 83.52 MB
/简体中文 -
TouchWin编辑工具(信捷触摸屏编程软件) 55.69 MB
/简体中文 -
信捷PLC编程工具软件 14.4 MB
/简体中文 -
TLauncher(Minecraft游戏启动器) 16.95 MB
/英文 -
Ardublock中文版(Arduino图形化编程软件) 2.65 MB
/简体中文