当前位置: 首页 > 面试题库 >

Maven插件可限制特定软件包的使用

慕容修伟
2023-03-14
问题内容

我由大约40个开发人员组成的团队工作,我不希望任何开发人员使用任何开发人员都可以使用的特定API(准确地说是java.sun.Base64),而是让他们使用sun
API的替代方法作为其专有。

是否有用于maven的插件,通过这些插件在pom.xml中指定受限制的软件包,如果在代码中的任何位置使用了这些软件包中的任何一个,则构建将中断?

还是有一种更优雅的方式来做到这一点?

谢谢


问题答案:

您想要为您的项目定义一个架构规则,最好由源代码分析来实施。

Sonar现在可以指定此类规则,并在项目的质量仪表板上显示违规情况。如果您想破坏构建,可以另外启用Sonar的Build
Breaker
插件。

Sonar真的很容易设置,并且可以将POM零更改地集成到您的Maven构建过程中。



 类似资料:
  • 使用Maven JavaDoc插件,我可以只为特定的包创建JavaDoc吗?我有一个父模块,只想为子模块中选定的包生成Javadoc。例如 我希望Javadocs只适用于Module1下的Package2

  • 想项目中添加插件的新方法不仅仅是一种更为方便的语法.新的DSL语法处理与老方法有很大的不同.新的机制允许Gradle更早更快的确定插件.这允许做更智能的事,如: 优化插件类的加载和重用. 允许不同的插件使用不同版本的依赖关系. 为编辑构建脚本提供关于隐含属性和值的详细信息 这要求插件被指定使Gradle在执行之前剩下的构建脚本前可以很容易并且很快的提取它.还要求插件使用一些静态的定义。 新的插件机

  • 问题内容: 我正在尝试使用通过该选项创建的新virtualenv安装MySQL_python适配器的1.2.2版本。PyPi中显示的当前版本是1.2.3。有没有办法安装旧版本?我发现有一篇文章指出应该这样做: 但是,安装后,它仍显示在站点包中。这是此软件包专用的问题,还是我做错了什么? 问题答案: TL; DR: (即) 首先,我发现您要执行的操作有两个问题。由于您已经安装了版本,因此应该卸载当前

  • 目前插件市场目前不再上架短信验证、云储存、编辑器这三个类别的插件。 目前插件如有涉及包括但不限于游戏、分销、夺宝、返利、借贷、数字币、个人支付、海外支付、采集、小说、抽奖、点卡、外挂功能的均无法上架插件市场。

  • 问题内容: 我想在Spring中从基于XML的配置切换为基于Java的配置。现在,我们的应用程序上下文中具有以下内容: 但是如果我写这样的话… …它将从这两个软件包中排除服务。我有一种强烈的感觉,我正在尴尬地忽略一些琐碎的事情,但是找不到解决方案来将过滤器的范围限制为。 问题答案: 你只需要为所需的两个注释创建两个类。 因此,例如,你的包装将有一个类: 然后是你的包裹的二等舱: 然后在实例化Spr

  • 问题内容: 我可以在Maven文档中找到如何运行的地方: 一次测试 所有测试都在一个测试类中 符合特定模式的类中的所有测试 但是,如何在一个包中运行所有测试?这可能吗? 我希望不需要修改或代码的解决方案。 问题答案: 例如,您也可以使用模式 运行以 de.mypackage 包结尾的类中的所有测试。 [更新2017/12/18]: 由于这已成为公认的答案,因此这里有一些进一步的信息: Maven使