Maven Enforcer Plugin配置未生效:Java8升11后Dev构建快照报错
解决Java 11升级后Maven开发构建“No Snapshots allowed”错误
确保Enforcer插件的skip配置绑定到正确执行实例
仅在插件级别设置<skip>true</skip>通常不生效,因为requireReleaseDeps规则是通过execution节点定义的。需要在对应的执行实例中明确设置skip:<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <version>3.3.0</version> <executions> <execution> <id>enforce-release-dependencies</id> <goals> <goal>enforce</goal> </goals> <configuration> <skip>true</skip> </configuration> </execution> </executions> </plugin>注意替换
id为项目中实际触发requireReleaseDeps规则的执行ID。检查激活的Maven Profile
执行mvn help:active-profiles查看当前激活的Profile,确认是否意外启用了发布环境的Profile(这类Profile通常强制开启requireReleaseDeps规则)。如果是,添加-P!release-profile-id参数跳过该Profile,或在本地settings.xml中禁用。直接修改规则允许快照依赖
如果不需要完全跳过Enforcer插件,可调整规则配置允许快照依赖:<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <version>3.3.0</version> <executions> <execution> <id>enforce-release-dependencies</id> <goals> <goal>enforce</goal> </goals> <configuration> <rules> <requireReleaseDeps> <excludes> <exclude>*:*:*SNAPSHOT</exclude> </excludes> </requireReleaseDeps> </rules> </configuration> </execution> </executions> </plugin>检查子模块的独立配置
部分子模块可能会重新定义Enforcer插件,覆盖父POM的设置。检查子模块pom.xml,确保没有独立的Enforcer配置,或在子模块中同步添加<skip>true</skip>。强制刷新Maven配置
执行mvn clean install -U强制更新插件和依赖缓存,确保新配置被Maven加载。
内容的提问来源于stack exchange,提问作者Wesley
相关产品推荐
相关产品推荐

