记录一次诡异的Maven Profile不生效的问题

本文深入探讨了一次Maven Profile不生效的诡异问题,解析了为何即便指定了-P参数,仍复制错误的resource文件。通过检查settings.xml,发现全局激活的profile导致了这一现象,提醒我们在配置Maven时要小心谨慎。
摘要由CSDN通过智能技术生成

记录一次诡异的Maven Profile不生效的问题

现象

maven 打包之后,复制的 profile对应的resource文件总是不正确的。
即便是加了

mvn clean package -P test

,profile每次都是复制了 dev这个profile,很是奇怪。

诊断

mvn resource:resource

用该命令,可以快速测试复制resources配置文件是否正确。
但是target 文件夹内依然是dev的。

Apache Maven Help Plugin

mvn help:active-profiles

输出类似:

profile dev (external)

这我就突然想到,external 是不是外部的,也就是与本项目无关的。

结果打开 maven的 settings.xml文件,划到下面发现了下面的内容:

    <profile>  
      <id>dev</id>  
      <repositories>            
          <repository>    
          <id>spring-plugin</id>    
          <name>spring-plugin</name>    
          <url>http://repo.spring.io/plugins-release/</url>    
          <releases>    
            <enabled>true</enabled>    
          </releases>    
          <snapshots>    
            <enabled>false</enabled>    
          </snapshots>    
        </repository> 
        
      </repositories>    
      <pluginRepositories>      
    <pluginRepository>    
          <id>spring-plugin</id>    
          <name>spring-plugin</name>    
          <url>http://repo.spring.io/plugins-release/</url>    
          <releases>    
            <enabled>true</enabled>    
          </releases>    
          <snapshots>    
            <enabled>false</enabled>    
          </snapshots>        
        </pluginRepository>    
      </pluginRepositories>       
    </profile> 

....
     <activeProfiles>
        <activeProfile>dev</activeProfile>
    </activeProfiles>

总结

然后恍然大雾,原来maven用了这么多年,依旧没有彻底弄明白。。这是到处复制maven settings配置,而不清楚或者误解其作用导致的隐患啊。
这里的profile dev可是全局激活的啊,幸好生产环境的 没有使用maven profile。
不然 无论怎么写命令,dev永远是激活的。

转载于:https://www.cnblogs.com/slankka/p/10092628.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值