maven-enforcer-plugin,里面有一项功能bannedDependencies,可以通过设置依赖黑白名单,如果有依赖匹配了黑名单中的依赖设置,那么maven会停止(可以配置)当前操作(打包构建,甚至是mvn eclipse:eclipse),打印错误日志提示,配置的代码如下:

从这个插件配置上可以看出,还可以限制java版本以及maven版本。重点看看对依赖黑白名单,黑名单中规定不能引入google-collections,那么一旦依赖了这个,操作会提示,至于是不是会停止操作,取决于下边fail标签中的配置。比较特殊的是黑名单中排除了junit,而白名单中更加详细地描述junit,这个可以这么解读:不允许依赖junit,除了版本是3.8.1的scope为test的junit,从此可以看出,白名单是对黑名单的补充,这样更加灵活。

虽然黑白名单可以解决一部分问题,但是还是由衷的希望尽早出现全局排除活跃jar包的问题.