maven 关于构建版本号,以及在构建的时候压缩css,js并为这些文件追加版本号

最近负责公司一个项目框架的搭建,由于我们这边是后端团队,没有专业的前端工程师支持我们,我就在这个搭建过程中遇到了一些前端问题,给大家分享一下。

主要分享点:

  1. 构建项目时自动在css,js文件名中加入版本号     解决新上线版本时,浏览器可以更新缓存
  2. 构建项目自动压缩css,js资源文件     加快响应速度

解决第一个问题,是在构建的时候必须生成一个构建版本号,比如构建时刻的timestamp,正好在网上看到这样的插件,配置信息如下

<plugin>

<groupId>org.codehaus.mojo</groupId>

<artifactId>buildnumber-maven-plugin</artifactId>

<version>1.3</version>

<executions>

<execution>

<phase>validate</phase>

<goals>

<goal>create-timestamp</goal>

</goals>

</execution>

</executions>

<configuration>

<configuration>

<format>{0,date,yyyy-MM-dd HH:mm:ss}</format>

<items>

<item>timestamp</item>

</items>

</configuration>

</configuration>

</plugin>

这个插件的作用是在构建的时候在maven的生命周期validate阶段生成一个版本号,当你需要这个版本号的时候你可以通过${timestamp}引入,具体这个插件的使用可以查看官网:http://mojo.codehaus.org/buildnumber-maven-plugin/index.html

有了这个版本号,接下来的问题就是在每个页面引入css,js的文件可以被copy一份名字以xx.{version}.css,xx.${version}.js的文件,这就要用到第二个插件了,看下面的配置信息:

<plugin>

<groupId>net.alchim31.maven</groupId>

<artifactId>yuicompressor-maven-plugin</artifactId>

<version>1.5.0</version>

<executions>

<execution>

<phase>${assert.compress}</phase>

<goals>

<goal>compress</goal>

</goals>

</execution>

</executions>

<configuration>

<!--<nosuffix>true</nosuffix>-->

<suffix>.${timestamp}</suffix>

<force>true</force>

<encoding>utf-8</encoding>

<excludes>

<exclude>**/*.pack.js</exclude>

<exclude>**/compressed.css</exclude>

<exclude>**/*.min.css</exclude>

<exclude>**/*.min.js</exclude>

</excludes>

</configuration>

</plugin>

这个插件不但解决我上面分享里写的第二个压缩css,js文件,同时还可以把压缩后的文件名追加版本号,有了这个插件真是太好了,关于这个插件具体使用信息请看:http://davidb.github.io/yuicompressor-maven-plugin/index.html

看下下面的构建信息,注意框框里面的内容,可以看到jquery-ui.js被压缩成以文件名jquery-ui.1414549216019.js命名的文件,同时这个插件还打印出了其它一些信息。

到这里,想要的样式文件都已经有了,紧接着要做的是怎么在文件内进行替换

时间: 2024-10-13 07:27:00

maven 关于构建版本号,以及在构建的时候压缩css,js并为这些文件追加版本号的相关文章

利用apache+svn+jenkins+maven 实现java环境的自动化构建和部署(一)(网内首发超详细版)

目录结构如下: 目录 1说明及环境介绍3 1.1说明3 1.2环境准备及格式约定4 2 Linux下apache搭建svn服务器4 2.1 apache安装部署4 2.2 svn安装部署5 2.3整合svn和apache6 2.4 ssl方式部署apache7 2.4.1安装apache7 2.4.2安装svn7 2.4.2 部署认证8 3 Linux下svn独立服务器方式部署9 3.1安装SVN9 3.2 配置环境10 3.3 权限配置样例11 3.4 启动SVN服务器12 3.5 访问方式1

Maven环境下多模块项目构建

Maven环境下多模块项目构建 一.新建项目 1.建立我们的父模块par 2.建立我们的子模块dao层 3.建立我们的子模块service层 4.建立我们的子模块web层 5.全部配置完成后,怎么把我们的四个项目关联起来 1)添加一个dao层 2)service里面添加对应的dao依赖 3)然后回到我们的web 4)把这4个项目安装到本地 选择Run 的第二个,然后输入:clean compile install 5)配置一个tomcat插件,为执行做准备

利用apache+svn+jenkins+maven 实现java环境的自动化构建和部署(四)(网内首发超详细版)

6安装maven 下载地址:http://maven.apache.org/download.cgi 解压安装 unzip –o apache-maven-3.2.1-bin.zip mv apache-maven-3.2.1 maven 配置环境变量 MAVEN_HOME=/usr/local/maven export PATH=$MAVEN_HOME/bin:$PATH 7 java环境自动构建部署 7.1 新建job 输入名称如下图 输入SVN服务器地址 注意:上面已经认证过了,因此没有报

利用apache+svn+jenkins+maven 实现java环境的自动化构建和部署(二)(网内首发超详细版)

2.4 ssl方式部署apache 2.4.1安装apache ./configure --prefix=/usr/local/apache2 --enable-dav --enable-ssl--enable-so --enable-mods-shared=all make && make install 2.4.2安装svn 安装apr-1.4.6.tar.gz.apr-util-1.5.1.tar.gz.neon-0.29.6.tar.gz同2.2章节部分 unzip sqlite-

利用apache+svn+jenkins+maven 实现java环境的自动化构建和部署(三)(网内首发超详细版)

3.3 权限配置样例 注意: * 权限配置文件中出现的用户名必须已在用户配置文件中定义. * 对权限配置文件的修改立即生效,不必重启svn. 用户组格式: [groups] = , 其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔. 版本库目录格式: [<版本库>:/项目/目录] @<用户组名> = <权限> <用户名> = <权限> 其中,方框号内部分可以有多种写法: [/],表示根目录及以下,根目录是svnserve启动时指定的,我们

利用apache+svn+jenkins+maven 实现java环境的自动化构建和部署(五)(网内首发超详细版)

8 Subversion FAQ 8.1 官方FAQ网址 http://subversion.apache.org/faq.zh.html 8.2 svn遇到错误总结 8.2.1 svn不显示日志 解决办法:1)找到你SVN版本库下conf文件夹下的svnserve.conf文件2)打开svnserve.conf文件,将其中名为anon-access的一项设置为anon-access=none. 这样的话,日志文件即可显示正常. 8.2.2 版本冲突问题 svn update --usernam

Maven实战(三)Eclipse构建Maven项目(转)

转帖:http://www.iteye.com/topic/1123225 ? 1. 安装m2eclipse插件??? 要用Eclipse构建Maven项目,我们需要先安装meeclipse插件??? 点击eclipse菜单栏Help->Eclipse Marketplace搜索到插件Maven Integration for Eclipse 并点击安装即可,如下图: ?? 安装成成之后我们在Eclipse菜单栏中点击File->New->Other,在弹出的对话框中会看到如下图所示:

使用maven profile实现多环境可移植构建

在开发过程中,我们的软件会面对不同的执行环境.比方开发环境.測试环境.生产环境,而我们的软件在不同的环境中.有的配置可能会不一样.比方数据源配置.日志文件配置.以及一些软件执行过程中的基本配置,那每次我们将软件部署到不同的环境时,都须要改动对应的配置文件.这样来回改动,是个很麻烦的事情.有没有一种方法可以让我们不用改动配置就能公布到不同的环境中呢?当然有.这就是接下来要做的事. 当然,这里的前提是使用maven做为构建工具. 使用maven来实现多环境的构建可移植性.须要借助maven提供的pr

Maven 打包 package install deploy-项目构建的理解

项目的构建理解 构建工具能够帮我们自动化构建过程,从清理.编译.测试到生成报告,再到打包和部署.我们只需要输入简单的命令(如 mvn clean install),Maven 就会帮我们处理繁琐的任务:它最大化的消除了构建的重复,抽象了构建生命周期,并且为绝大部分的构建任务提供了已实现的插件.比如说测试,我们只需要遵循 Maven 的约定编写好测试用例,当我们运行构建的时候,这些测试便会自动运行.除此之外,Maven 能帮助我们标准化构建过程.在 Maven 之前,十个项目可能有十种构建方式,但