【IDEA】Maven踩坑:pom文件中的默认profiles不生效+IDEA中Maven的profiles使用说明
一、问题即分析
项目pom文件中的profiles有3个配置:dev
、test
和production
默认配置的是dev
,如下图:
但在本地起服务时,读取的配置始终是test
里的。
二、原因
2.1 maven中的profile说明
开始并不知道原因,因为特别违反常理,pom文件里的配置不生效你敢信...后来发现其实是IDEA的锅。
对于IDEA中Maven的使用需要注意以下内容:
图片内容摘自: https://youmeek.gitbooks.io/intellij-idea-tutorial/content/maven-skill-introduce.html
注意:上面说的profile我们都理解,有多个也理解,但同时激活多个profile是什么鬼?
如果我同时激活两个,而这两个里面对于同一个属性的值配置的并不同,那么Maven或者说IDEA要如何选择?选择哪个?
一看我们的项目,果然是这个原因:同时选中了dev
、test
的配置,但实际生效的是test
,即使我们pom里面配置的默认是dev
...而且,不管我们怎么改dev
,配置始终不生效,因为实际使用的配置是test
2.2 为什么IDEA会同时选中dev
和test
?
因为我们这个项目是一个多模块项目,里面有3个Web,其中一个的默认配置是test,另外两个的默认配置都是 dev。可能因为这样导致同时选中了dev
和test
。
2.3 为什么之前没问题?
因为之前每个项目里的dev
和test
配置都一样,这次上线,因为测试原因,修改了配置,将test
的配置改为了预发的配置。然后本地起服务,读取了预发的配置,就出了问题。
三、解决
上图中的配置,只选中dev
...果然,问题解决了。不能都不选,不然连项目都无法编译...
四、结束
【IDEA】Maven踩坑:pom文件中的默认profiles不生效+IDEA中Maven的profiles使用说明的更多相关文章
- SpringBoot1.x升级SpringBoot2.x踩坑之文件上传大小限制
SpringBoot1.x升级SpringBoot2.x踩坑之文件上传大小限制 前言 LZ最近升级SpringBoo框架到2.1.6,踩了一些坑,这里介绍的是文件上传大小限制. 升级前 #文件上传配置 ...
- intellij中maven不能导入pom文件中指定的jar包
pom文件配置依赖的jar包版本,可以有默认的版本,如下 <profiles> <profile> <id>default_version</id> & ...
- maven导出工程pom文件中依赖的jar包
在工程的pom文件里加上下面plugin, 然后执行mvn clean package -Dmaven.test.skip=true命令,就可以lib包收集起来了 <plugin> < ...
- Maven入门-3.pom文件和settings文件
1.pom.xml文件介绍2.settings.xml文件介绍 1.pom.xml文件介绍 Maven项目的核心是pom.xml,pom(Project Object Model项目对象模型) pom ...
- 关于maven导入工程pom文件报错问题及解决
pom文件头报错 1.导入maven文件,经常遇到表头出错问题.报错:Failure to transfer org.apache.maven.shared:maven-filtering:pom:1 ...
- Maven 项目依赖 pom 文件模板
下面是网上down的 pom 文件模板: <!-- 属性 --> <properties> <spring.version>4.2.4.RELEASE</sp ...
- eclipse导入maven时,pom文件的project一直报错(Failure to transfer org.apache.maven.plugins:maven-surefire-plugin:pom:2.12.)
这里有两种解决办法. 一:右键项目->maven->update project勾选上Force Update of Snapshots/Releases然后ok就可以了. 二:如果第一种 ...
- 踩坑の SpringMVC文件上传
环境准备 添加两个jar包 commons-fileupload-1.2.2.jar commons-io-2.4.jar 配置要求 在springmvc.xml中配置multipart类型解 ...
- maven 在pom文件下配置默认的jdk版本
在pom.xml中加入这段代码就可以了 <!-- 设置默认的jdk --> <profiles> <profile> <id>jdk1.7</id ...
随机推荐
- 快速理解linux流编辑器sed命令
原创 杜亦舒性能与架构 之前介绍过 awk 命令,sed 命令同样是非常重要的文本处理工具,涉及到linux shell开发时,几乎是避不开这两大利器的 sed 是 stream editor 的简写 ...
- Atitit.执行cli cmd的原理与调试
Atitit.执行cli cmd的原理与调试 1. /c 与/k1 2. /k 参数,有利于调试1 3. -------code2 4. 打开程序后与openner脱离关系3 5. 返回参数 St ...
- java 容器结构
先来看下层次关系. 如图所示:图中,实线边框的是实现类,折线边框的是抽象类,而点线边框的是接口 Collection(接口)├──List(接口)│ ├──LinkedList(实现类)│ ├ ...
- 蓝牙(CoreBluetooth)-外部设备(服务端)
蓝牙(CoreBluetooth)-外部设备(服务端) 主要内容 1. 创建外部管理器对象 2. 设置本地外设的服务和特征 3. 添加服务和特征到到你的设置的数据库中 4. 向外公布你的的服务 5. ...
- vim编码设置
转载于:http://www.cnblogs.com/freewater/archive/2011/08/26/2154602.html vim 编码方式的设置和所有的流行文本编辑器一样,Vim 可以 ...
- target="_blank" 导致的钓鱼攻击
挺久的漏洞,之前没仔细看现在看了下 直接构建实验环境: test1.html: <!DOCTYPE html> <html> <head> <meta cha ...
- (译)Getting Started——1.3.4 Writing a Custom Class(编写自定义的类)
在开发IOS应用中,当你编写自定义的类时,你会发现很多的特殊场合.当你需要把自定义的行为和数据包装在一起时,自定义的类非常有用.在自定义的类中,你可以定义自己的存储.处理和显示数据的方法. 例如,I ...
- RTT第一个工程
第一个RTT工程 1. 配置工程 选择芯片STM32F103C8(其包含该芯片的Flash及SRAM介绍): Jlink SW模式 output->Debug info/Browse info ...
- modbus学习
- JVM参数MetaspaceSize的误解
前言 昨天谢照东大神在群里提出一个问题:怎么查看Metaspace里具体包含的是什么,起因是他的某个服务设置了-XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=5 ...
SpringBoot1.x升级SpringBoot2.x踩坑之文件上传大小限制 前言 LZ最近升级SpringBoo框架到2.1.6,踩了一些坑,这里介绍的是文件上传大小限制. 升级前 #文件上传配置 ...
pom文件配置依赖的jar包版本,可以有默认的版本,如下 <profiles> <profile> <id>default_version</id> & ...
在工程的pom文件里加上下面plugin, 然后执行mvn clean package -Dmaven.test.skip=true命令,就可以lib包收集起来了 <plugin> < ...
1.pom.xml文件介绍2.settings.xml文件介绍 1.pom.xml文件介绍 Maven项目的核心是pom.xml,pom(Project Object Model项目对象模型) pom ...
pom文件头报错 1.导入maven文件,经常遇到表头出错问题.报错:Failure to transfer org.apache.maven.shared:maven-filtering:pom:1 ...
下面是网上down的 pom 文件模板: <!-- 属性 --> <properties> <spring.version>4.2.4.RELEASE</sp ...
这里有两种解决办法. 一:右键项目->maven->update project勾选上Force Update of Snapshots/Releases然后ok就可以了. 二:如果第一种 ...
环境准备 添加两个jar包 commons-fileupload-1.2.2.jar commons-io-2.4.jar 配置要求 在springmvc.xml中配置multipart类型解 ...
在pom.xml中加入这段代码就可以了 <!-- 设置默认的jdk --> <profiles> <profile> <id>jdk1.7</id ...
原创 杜亦舒性能与架构 之前介绍过 awk 命令,sed 命令同样是非常重要的文本处理工具,涉及到linux shell开发时,几乎是避不开这两大利器的 sed 是 stream editor 的简写 ...
Atitit.执行cli cmd的原理与调试 1. /c 与/k1 2. /k 参数,有利于调试1 3. -------code2 4. 打开程序后与openner脱离关系3 5. 返回参数 St ...
先来看下层次关系. 如图所示:图中,实线边框的是实现类,折线边框的是抽象类,而点线边框的是接口 Collection(接口)├──List(接口)│ ├──LinkedList(实现类)│ ├ ...
蓝牙(CoreBluetooth)-外部设备(服务端) 主要内容 1. 创建外部管理器对象 2. 设置本地外设的服务和特征 3. 添加服务和特征到到你的设置的数据库中 4. 向外公布你的的服务 5. ...
转载于:http://www.cnblogs.com/freewater/archive/2011/08/26/2154602.html vim 编码方式的设置和所有的流行文本编辑器一样,Vim 可以 ...
挺久的漏洞,之前没仔细看现在看了下 直接构建实验环境: test1.html: <!DOCTYPE html> <html> <head> <meta cha ...
在开发IOS应用中,当你编写自定义的类时,你会发现很多的特殊场合.当你需要把自定义的行为和数据包装在一起时,自定义的类非常有用.在自定义的类中,你可以定义自己的存储.处理和显示数据的方法. 例如,I ...
第一个RTT工程 1. 配置工程 选择芯片STM32F103C8(其包含该芯片的Flash及SRAM介绍): Jlink SW模式 output->Debug info/Browse info ...
前言 昨天谢照东大神在群里提出一个问题:怎么查看Metaspace里具体包含的是什么,起因是他的某个服务设置了-XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=5 ...