Maven构建war项目添加版本号

  上午接到一个新的需求,项目的war包打包之后,放在了阿里的OSS上,供其他项目下载更新时使用,但是只有一个项目名,也就是pom的artifactId,预期的结果是要加上一个版本号,能区分出是什么时候打的包。

一、使用Maven自带的属性



yyyy-MM-dd HH:mm:ss



            
                org.apache.maven.plugins
                maven-war-plugin
                2.6
                
                    ${project.artifactId}_${maven.build.timestamp}
                    
                        
                            src/main/webapp
                            
                                *.*
                                **/*.*
                            
                            true
                        
                    
                
            

按照以上配置,版本号可以加上,年月日也是正确的,但是时分秒是对不上的,这是时区问题,maven取得是UTC ,如果想使用北京时间GMT+8 则需要插件支持

二、使用插件


                org.codehaus.mojo
                buildnumber-maven-plugin
                1.4
                
                    yyyyMMddHHmmss
                
                
                    
                        
                            create-timestamp
                        
                    
                
                false
            

在需要使用版本号的地方直接使用${timestamp}


            
                org.apache.maven.plugins
                maven-war-plugin
                2.6
                
                    ${project.artifactId}_${timestamp}
                    
                        
                            src/main/webapp
                            
                                *.*
                                **/*.*
                            
                            true
                        
                    
                
            

配置完成!打包符合要求。

三、扩展使用-静态资源文件版本控制

在 二 的基础上加自定义属性


        ${timestamp}
    

页面中的引用

*.[js|css|img]?v=${project.build.version}

注意:war包插件必须要先开启过滤 

true

这样maven打包的时候,就会将${project.build.version} 替换为时间戳,每次发布版本的时候,也不用去清除浏览器的缓存了。

转载于:https://www.cnblogs.com/geekdc/p/9317463.html

你可能感兴趣的:(Maven构建war项目添加版本号)