今天启动接一个新项目,然后项目启动后发现启动的环境和预想的不一致,查看 pom 文件确认自己是 dev 无误之后,但是启动的就是 test 环境。

问题

发现了启动环境不对不对之后,自己试了一种解决办法,就是在添加运行命令 -Dspring.profiles.active 指定需要运行的环境。但是没有弄清楚原因还是觉得难受。

于是开始排查问题,发现了 Maven Projects 的 Tool Window 下有一个从来没有注意到的选项:Profiles,想肯定是pom 文件中对应的配置。

解决方法

发现有些配置是 项目 pom 中配置的,有些是 maven settings.xml 文件中的配置。于是开始探索,发现有些勾选还会变成灰色,有些是亮色,不清楚到底是什么意思呢。各种尝试之后,发现只有仅选择了 dev 之后,启动才会成功。

问题虽然解决了,但是不清楚为什么选择多个就不行呢。

于是就去网上搜索,发现都没有关于这个 tool bar 的解释,只能去看寻找 官方 HELP了。

官方解释

Working with Maven profiles

这个链接解释了这个 tool bar 的作用,当然还有一些关于 idea 如何使用的指导,之前都没有看过,还是有很多帮助了,建议不清楚的可以去看看。这里只简单介绍 Maven Projects | Profiles 的说明就只说这个吧。

  • 显示范围



    简单解释一下就是,这里展示3个范围内的Profiles

    • maven 配置文件1,仅使用此文件的项目有效,在 %\USER_HOME%/.m2/settings.xml
    • 全局 maven 配置,${maven.home}/conf/settings.xml.
    • 本项目中 pom 文件中配置的环境
  • 激活环境配置

    官方文档中显示当我们导入文件的时候,会有选择环境的提示,不知道是不是没有注意还是版本的问题,没有看到。总之在这个 tool bar 中可以通过两种方式去指定 想要激活的环境

    • 1、Execute Maven goal :点击带有m的图表会出现选项,可以在那里 通过 -P profileName 指定激活环境
    • 2、通过选择profiles list中的 复选框选择

第一种方式是运行maven命令时指定环境的方式,同时可以验证我在上面说的,通过启动时手动添加命令的方式也是可以指定配置文件的。第二种方式比较便捷,只是不了解这个选项的话是不清楚意思的。

继续阅读发现,灰显的勾选是 默认 激活的环境。但是它会被手动激活的方式覆盖。

发现的问题

另外文档中国还有两个问题没有说明,即:

  • 1、多个环境被激活的情况下,使用哪一个环境呢?
  • 2、如何恢复默认的配置情况,目前好像没有找到方法。

第一个问题在实践和网友的方案中得知,是使用最后一个勾选的环境!!!

另外,再记录一个提醒:

在多模块项目中,parent 的 dependencies 下的所有依赖会被子项目继承,如果不想这么做,可以使用 标签,他可以被子项目引用,但是不会默认加载,只有显示的引用才会加载此依赖,而且默认不添加版本会继承parent的版本,但是也可以手动覆盖parent中的版本。

idea 【Maven Projects # Profiles】问题记录的更多相关文章

  1. Solving “Dynamic Web Module 3.0 requires Java 1.6 or newer” in Maven Projects

    不一定是在Maven Projects里才有这种情况,但解决方法是一样的. 转自:http://qussay.com/2013/09/13/solving-dynamic-web-module-3-0 ...

  2. Idea中右边的maven projects窗口找不到了如何调出来

    关于Idea中右边的maven  projects窗口找不到了如何调出来? 具体的idea版本我不太清楚,我用的是2016版,其他版本应该也是一样的. 首先idea自带了maven控件,不像Eclip ...

  3. 关于Idea中右边的maven projects窗口找不到了如何调出来

    关于Idea中右边的maven  projects窗口找不到了如何调出来? 具体的idea版本我不太清楚,我用的是2016版,其他版本应该也是一样的. 首先idea自带了maven控件,不像Eclip ...

  4. Importing Maven projects' has encountered a problem

    导入项目是报错,这个是maven问题--Importing Maven projects' has encountered a problem ---------------------------- ...

  5. Migrate Maven Projects to Java 11

    Migrate Maven Projects to Java 11 So you want to migrate to Java 11 but your Maven project is still ...

  6. Intellij Idea 导入多个maven项目展示在左侧栏Maven Projects

    刚刚要开始从eclipse切换成idea,据说idea功能强大,可是刚刚开始使用很多不习惯,导入第二个maven项目时之前的项目就没了,比较苦恼,下面介绍下导入多个maven项目展示在左侧栏Maven ...

  7. IntelliJ: Maven projects need to be imported: Import Changes Enable Auto-Import

    upon creating a new maven project I get the popup box saying "Maven projects need to be importe ...

  8. eclipse importing maven projects 卡顿

    导入一个maven工程后 一直显示 importing maven projects 9% 解决办法: 找到eclipse安装目录下的eclipse.ini 在最后加入 -vm $JAVA_HOME% ...

  9. 关于Error:Maven Resources Compiler: Maven project configuration required for module '项目名' isn't available. Compilation of Maven projects is supported only&

    总是出现Error:Maven Resources Compiler: Maven project configuration required for module '项目名' isn't avai ...

随机推荐

  1. mq checkpoint文件

    记录comitlog,consumeQueue,Index文件的刷盘时间点,文件固定长度4k,其中只用该文件的24个字节,其存储格式: 8字节physicMsgtimestamp+8字节logicsM ...

  2. Tiops评测

    一.前言 前几天参加了一个新钛云服公有课,才了解到这家公司有发布自己产品Tiops云运维堡垒机. 在此之前有了解过JumpServer,可以完美支持windows和linux server运维管理,以 ...

  3. 20200513_安装windows sql server 2012 _ ws功能 NetFx3时出错,错误代码:-2146498298

    这是没有安装.net Framework 3.5造成的 1. 下载个.net Framework 3.5, 放到任意目录下, 比如C: 2. 打开添加windows 功能 3. 直接下一步: 4. 勾 ...

  4. 通过Apache Hudi和Alluxio建设高性能数据湖

    T3出行的杨华和张永旭描述了他们数据湖架构的发展.该架构使用了众多开源技术,包括Apache Hudi和Alluxio.在本文中,您将看到我们如何使用Hudi和Alluxio将数据摄取时间缩短一半.此 ...

  5. 基础篇——SpringCloudAlibaba分布式组件

    官方文档:https://github.com/alibaba/spring-cloud-alibaba/blob/master/README-zh.md 想要使用SpringCloudAlibaba ...

  6. Asp.NetCore之AutoMapper进阶篇

    应用场景 在上一篇文章--Asp.NetCore之AutoMapper基础篇中我们简单介绍了一些AutoMapper的基础用法以及如何在.NetCore中实现快速开发.我相信用过AutoMapper实 ...

  7. 乌云wooyun网站硬盘复活

    AWD比赛防止没有网络,在移动硬盘里面准备一个乌云漏洞库. 之前也想过弄一个乌云的镜像网站,无奈学生机性能太低下了,部署到公网上服务器存储空间都不够,只能部署在本地硬盘了. 乌云镜像的开源地址:htt ...

  8. LeetCode初级算法之数组:66 加一

    加一 题目地址:https://leetcode-cn.com/problems/plus-one/ 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一.最高位数字存放在数组的首位, 数 ...

  9. Django官方为什么没有标准项目结构

    Django官方并没有提供标准的项目结构,于是网上众说纷纭,百花齐放,一千个读者有一千个哈姆雷特.那我们该怎么设计项目结构呢?在回答这个问题之前,先了解一下Django原生的目录和文件都是干嘛的. p ...

  10. jsonp使用post方法

    来源https://www.jb51.net/article/68980.htm