zoukankan      html  css  js  c++  java
  • 记录一次诡异的Maven Profile不生效的问题

    记录一次诡异的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永远是激活的。

  • 相关阅读:
    CSS3新增文本属性实现图片点击切换效果
    swipe和swiper的区别
    uncaught syntaxerror: unexpected token
    科协前辈的阿里面试经验转载1
    Oracle 分析函数
    Jakarta Commons HttpClient 学习笔记 (二)
    Ubuntu eclipse下android virtual device manager不能删除AVD
    Android的界面设计工具——DroidDraw
    JS异步请求数据
    Ubuntu配置JDK和Android环境变量
  • 原文地址:https://www.cnblogs.com/slankka/p/10092628.html
Copyright © 2011-2022 走看看