知识大全 Maven插件之Maven-Enforcer-Plugin
Posted 版本
篇首语:时穷节乃现,一一垂丹青。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Maven插件之Maven-Enforcer-Plugin相关的知识,希望对你有一定的参考价值。
Maven插件之Maven-Enforcer-Plugin 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
实际开发中 项目经理总会告诉开发人员:开发时要遵守什么什么样的约定 命名规范怎么怎样样
约定优于配置 很重要!比较规范的公司(或者项目组) 会把规范写到文档中 让开发人员去遵守
问题来了 怎么才能知道大家有没有按照规范走呢?有人会说了 找个工具校验一下就可以了 开源工具很多 是的 这是对的 但对于项目中使用的程序 工具 开发环境呢 有工作经验的人应该都知道 很多时候 新手出现诡异的问题 一部分原因是因为环境不对 或者软件版本不符;这时应该怎么检查呢?
Maven提供了Maven Enforcer Plugin插件 用来校验约定遵守情况(或者说校验开发环境) 比如JDK的版本 Maven的版本 开发环境(Linux Windows等) 依赖jar包的版本等等;官网地址:
下面介绍该插件的使用:
<plugin> <groupId> apache maven plugins</groupId> <artifactId>maven enforcer plugin</artifactId> <version> </version> <executions> <execution> <id>enforce</id> <phase>validate</phase> <goals> <goal>display info</goal> <goal>enforce</goal> </goals> </execution> </executions> <configuration> <! 规则检查不通过就构建失败;Default:false > <! <failFast>true</failFast> > <rules> <requireMavenVersion> <version> </version> </requireMavenVersion> <requireJavaVersion> <version> </version> </requireJavaVersion> <bannedDependencies> <! 是否检查传递性依赖(间接依赖) > <searchTransitive>true</searchTransitive> <excludes> <exclude>junit:junit</exclude> </excludes> <message>must use TestNG</message> </bannedDependencies> </rules> </configuration> </plugin>
该插件基于<rules>进行校验 以上配置了三条规则:
requireMavenVersion表示Maven的版本大于等于 ;
requireJavaVersion表示JDK的版本大于等于 ;
bannedDependencies表示禁止使用的依赖 其可用配置如下:
searchTransitive:是否搜索间接依赖;
excludes:禁止依赖列表;其表示格式为groupId[:artifactId][:version][:type][:scope][:classifier]中括号内为可选 可使用通配符替换整体或者部分;例如 以下demo为有效:
<excludes>
<! groupId[:artifactId][:version][:type][:scope][:classifier] >
<exclude> log</exclude>
<exclude> log:log j</exclude>
<exclude> log:log j: </exclude>
<exclude> log:*: </exclude><! 排除 及其以上版本 等价于[ ) >
<exclude> log:*:[ ]</exclude><! 明确排除 版本 >
<exclude> log:*:*:jar:test</exclude>
<exclude>*:*:*:jar:pile:tests</exclude>
<exclude> apache *:maven *:*</exclude>
</excludes>
includes:从禁止的依赖中排除的依赖列表(当excludes使用通配符时 可使用此属性排除);
message:校验失败 打印的提示信息;
如果想要配置更为复杂的版本范围 可参考:
除了以上的配置外 该插件内置了很多其他的规则 内置规则完整列表在:
maven默认提供了多种校验规则 满足我们各种需求;同时又提供了maven enforcer rule api允许我们自定义规则 具体参见:
cha138/Article/program/Web/201405/30981相关参考
Maven起步——教你开始使用Maven二(图) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
关于Eclipse插件开发之定制向导(图) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Inv
知识大全 Eclipse入门之使用指南及开发Eclipse插件 (2)
Eclipse入门之使用指南及开发Eclipse插件(2) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一
Java深入:在Eclipse中如何利用Maven 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
用Maven生成JDEE工程文件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 今天无意中找到一
RCP获取当前插件项目路径 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 今天需要获取插件项目下
ios9.0.1越狱了为什么装不了插件急因为插件没更新,等太极的越狱工具,放出后估计大部分插件就能用了ios9.0.1越狱后有什么广告拦截的插件相比于iOS9来说,苹果在iOS9.1中除了修复Bug、
jQuery插件编写 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! /*Helloeverybo
开发Eclipse插件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在本文中DavidGall
知识大全 我的世界citizens插件,如何设置自定义掉落物
我的世界citizens插件,如何设置自定义掉落物请找mm(MythicMobs)插件这里是原帖链接xd里面详细记载着如何使用,只是阅读起来一点都不友好罢了.回到原题,为什么要npc插件去搞掉落让玩家