java - 在每个构建中执行 Maven 插件

标签 java maven netbeans

我有一个问题,我自己无法回答。

简介: 我们开发了一个公司 pom,它对项目执行一些规则,提供一些公司范围的配置文件、分发管理等。

我们的大多数开发人员都使用公司 pom,但并非所有人都这样做,而且并非所有人都会在下一个开发周期内迁移旧项目。

所以我决定编写一个 Maven 插件,它只是检查是否有人在开发阶段(而不是 qs/prod)构建项目以及用户是否使用我们公司的 pom。

问题: 我想强制插件在每个“mvn clean install”或类似的东西上执行而不在项目pom中配置插件。 我的第一个猜测是settings.xml,但不幸的是你无法通过settings.xml执行插件。

有人有解决办法吗?

简单问题:在每个构建上强制执行插件,而无需在项目 pom 和/或命令行中提供插件!

最佳答案

一般来说,您无法控制开发人员的系统,因此尝试使用 Maven 发行版的 settings.xml 来解决此问题并不是正确的方法。您必须寻找每个项目使用的位置。一个系统可能是 SCM,但在那里添加 Hook 可能很困难。 假设您有一个 Artifact 存储库管理器,那就是进行此类检查的地方。我知道 Nexus 和 Artifactory 都可以验证上传的文件,并且在分析 pom.xml 方面特别强大 因此,您的重点不应该是尝试使用 Maven 插件解决此问题,而应该放在基础设施中的公共(public)位置上。

关于java - 在每个构建中执行 Maven 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40807268/

相关文章:

Netbeans 和 JavaFX - 每次运行时都进行清理和构建?

java - 无法在 Java 中读取 Word 文档内容

java - 解析 "+"整数时无效 int

java - HashMap 添加所有项目,即使是重复的

java - 没有为 XSD 和 WSDL 文件生成 XMLBean 类 (Maven)

java - 尝试为 Keycloak 创建自定义身份 validator 提供程序时,来自 Maven 部署的 NoClassDefFoundError

spring - 以 Spring Java 配置方式实例化 Camel 时对 BundleContextAware 的运行时依赖

php - Netbeans 7 在哪里存储 FTP 密码

java - 为大数据实现 java.util.Map

java - MVC 和 Java 网页设计 : Model structure