问题复现
我们在项目的pom.xml文件一般会配置多个profile 标签。
<profiles>标签一般写在pom.xml的<project>标签下
<!--分别设置开发,测试,生产环境-->
<profiles>
<!-- 开发环境 -->
<profile>
<id>dev</id> <!-- 在IDEA配置文件看到名字 -->
<activation>
<activeByDefault>false</activeByDefault> <!-- 是否默认启用,false -->
</activation>
<properties>
<environment>dev</environment>
<!-- 给项目添加环境参数,一般用于application.properties 填入 spring.active.profile = @environment@ -->
</properties>
</profile>
<!-- 测试环境 -->
<profile>
<id>test</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<environment>test</environment>
</properties>
</profile>
... 此处省略其他环境
</profiles>
在IDEA看到的配置文件如下:
解决方案
当您在使用 Maven 命令时包含了 --no-plugin-registry
选项时,它告诉 Maven 不要从插件注册表中加载插件信息。
插件注册表是 Maven 用来管理插件的机制,它允许 Maven 自动从中央存储库或其他远程存储库中下载插件。然而,有时候您可能希望禁用这种自动插件下载的行为,而是希望 Maven 仅使用本地已安装的插件。这时就可以使用 --no-plugin-registry
选项来达到这个目的。
IDEA设置,勾选:使用插件注册表
勾选后,重新加载所有Mavne项目
多选配置文件
当您在IntelliJ IDEA中勾选了多个Maven配置文件时,这些配置文件将会合并,并且最终生效的配置将包括所有被勾选的配置文件的设置。
Maven配置文件的合并规则如下:
- 如果两个配置文件中有相同的设置,最后勾选的配置文件中的设置将覆盖之前的设置。
- 对于列表类型的设置(比如
<properties>
中的属性),将会合并两个配置文件的值。 - 对于其他类型的设置,最后勾选的配置文件中的设置将覆盖之前的设置。
因此,当您同时勾选了两个Maven配置文件时,最终生效的配置将是这两个配置文件的合并结果。
特殊说明:
上述文章均是作者实际操作后产出。烦请各位,请勿直接盗用!转载记得标注原文链接:www.zanglikun.com
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取最新全部资料 ❤
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取最新全部资料 ❤