一次巧合又巧合的Bug

作者: 吴世浩 | 来源:发表于2017-01-20 16:47 被阅读0次

一、浩言

如果你是对的,你没必要发脾气;如果你是错的,你没资格发脾气---这才是真正的智慧

二、背景

原本的注册接口本身没问题的,但是我上次改了pom文件之后,测试就发现注册失败了,关键就是单纯的最后一次插入失败,因此就老老实实的去找bug了,日志也打印了,但是插入的时候version就是变为了'0.0.1-SNAPSHOT',其实这个值实很敏感的,因为maven的版本号就是这样,所以我就把maven的版本号改了,结果果然,这里插入的数据又变为新的maven版本号,我勒个去的,这就郁闷了,但是我前面一个插入也有version的斑斑号插入的,结果检查一发现,xml里面是写固定了,好吧,继续后面这个插入的说,我记得我也没改什么,就是改了资源过滤,根据不同的参数得到不同的配置文件而已,问题从这入手。

三、问题所在

所以我把maven打完包后,进入打包文件中查看xml,看到如下图的结果,打包的时候后version已经被替换了。所以<a herf="http://www.jianshu.com/p/7d383a5e8240">maven工具不同环境打包加载属性方式</a>中介绍了另外一个获取属性的方法就是${version}的方式来获取数据的。因为我在pom.xml里面制定了过滤的目录是resource下面文件,因为我的xml放在mapper下面,所以就被替换了,配置如下


Paste_Image.png
  <modelVersion>4.0.0</modelVersion>
  <groupId>test</groupId>
  <artifactId>test</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>

......

<profiles>
    <profile>  
        <id>test</id>  
        <properties>  
            <package.environment>test</package.environment>  
        </properties>  
    </profile>  
    <profile>  
        <id>production</id>  
        <properties>  
            <package.environment>production</package.environment>  
        </properties>  
    </profile>  
    <profile>  
        <id>development</id>  
        <properties>  
            <package.environment>development</package.environment>  
        </properties>  
         <activation>  
                <activeByDefault>true</activeByDefault>  
          </activation>
    </profile>  
</profiles>
<build>
<resources>
        <!-- <resource>
            <directory>src/main/resources/config</directory>  
            <excludes>  
                <exclude>test/**</exclude>    
                <exclude>production/**</exclude>    
                <exclude>development/**</exclude>    
            </excludes>  
            <filtering>true</filtering>        
        </resource> -->
        <resource>
            <directory>src/main/resources</directory>  
            <excludes>  
                <exclude>config/test/**</exclude>    
                <exclude>config/production/**</exclude>    
                <exclude>config/development/**</exclude>    
            </excludes>  
            <filtering>true</filtering>        
        </resource>
        <resource>    
            <directory>src/main/resources/config/${package.environment}</directory>    
        </resource>  
</resources>

报错如下:


Paste_Image.png

四、思考

那么上面说了是我指定目录问题,那么如果我指定的目录是src/main/resources/config下的,就是上面注释的代码,过滤后的文件就只用我的test or production or development文件的东西,这样我这个目录下的文件我都得使用include进行包含操作。也是很麻烦。所以我改了xml里面的获取数据方式#{version}
所以这是一次巧合中的巧合,第一个巧合是我修改了打包的方式,根据不同参数打包不同配置文件,再巧合的是我的代码里面的参数竟然会被maven里的属性进行覆盖,这有获取值的方式问题,也有巧合问题了。所以工具用的同时也要注意问题。

五:浩语

                                           __                                                        
                            __  _  ____ __|  |__ _____    ___
                            \ \/ \/ /  |  \  |  \\__  \  /  _ \   
                             \     /|  |  /   Y  \/ __ \(  <_> )
                              \/\_/ |____/|___|  (____  /\____/ 
                                                    \/     \/          
                                 任何事情都是要靠努力和用心。                                                   

相关文章

  • 一次巧合又巧合的Bug

    一、浩言 如果你是对的,你没必要发脾气;如果你是错的,你没资格发脾气---这才是真正的智慧 二、背景 原本的注册接...

  • 巧合?巧合

    一号床,三个姑娘,一个儿。 二号床,三个姑娘,一个儿。 三号床,三个姑娘,一个儿。 这是怎样的巧合? 不一样的,只...

  • 当 A 遇见 B 时 你 有没有 想过 这 是不是 巧合 当 巧合 被一次又一次 遇见时 这时的 巧合 还是巧合 ...

  • 如有巧合,别当巧合

    一、故事内容: 第一部分 前言:几个素不相识的人 第一章【牛小丽】 牛小丽想帮他哥牛小实买个媳妇儿,之前她哥的媳...

  • 是巧合还是巧合

    乞巧节的鹊桥,还是有点美!

  • 一次巧合

    人与人之间的遇见更多时候只是巧合,冥冥中的安排也好,偶然间的碰面也罢,都不是刻意而能为的事情。早一时或晚一时会错过...

  • 巧合

    你在二楼向谁打电话 我正好迈下三楼的台阶 走向一楼 我猜测,接你电话的人 正好从一楼 跨上二楼的台阶,或者 已经跨...

  • 巧合

    那年我初中二年级,QQ正如火如荼的成长着,我也跟紧了时代的步伐,有了自己的账号,因为好友少,而又害羞于主动...

  • 巧合

    已经六点半了,我蹲着身子,将晾在盆里的茶一捧一捧的往袋子里装,动作很慢,然后又将落在地上的一根一根捡起…… 屋外传...

  • 巧合

    今天晚上是搞笑的一晚。 我一边走向洗手间一边心血来潮用快板的节奏说:“我就知道我们要洗漱了,我就知道我要兑水了,我...

网友评论

    本文标题:一次巧合又巧合的Bug

    本文链接:https://www.haomeiwen.com/subject/bmgibttx.html