2013年 六月 18日 周二 | tags: java, maven, css, -- (permalink)

这个问题是我的一个失误造成的,这是上一片文章的后续,我在使用正则做文本替换的时候没有注意到,这个正则在主干上是正常的,但是在分支上执行的时候使一行css少了一个引号,这个问题在浏览器中是暴露不出来的,之后在maven打包的时候对文件做压缩的时候才会出现,下面我们来看看是什么样的问题。

我们项目使用的是 yuicompressor-maven-plugin 做js和css的压缩,在压缩的过程中出现了下面的错误:

---------------------------------------------------
constituent[0]: file:/E:/opensource/apache/maven-2.2.1.RELEASE/lib/aether-api-1.13.1.jar
constituent[1]: file:/E:/opensource/apache/maven-2.2.1.RELEASE/lib/aether-connector-wagon-1.13.1.jar
constituent[2]: file:/E:/opensource/apache/maven-2.2 ...

2013年 六月 11日 周二 | tags: lesscss, maven, java, -- (permalink)

这其实是一个很简单的问题,本来并不打算写成一片文章的,因为这个文件和另外一个问题是一起的,就是我们在nginx上做css和js文件合并时遇到的,不过在这之前我还遇到了另外一个问题,就是我们开发环境是windows7,而nginx下有个静态文件合并的模块: http_concat_module ,是淘宝开源的,这个模块并不是nginx标准模块,所以要使用它需要自己重新编译nginx,具体如何编译我需要一段一点时间整理一下,在之后的文章中会写出来。

至于为什么要使用less是因为使用了 http_concat_module 之后css中文件的一些路径出现了错误,需要为css文件设置一些变量,其实使用maven的插件也可以进行变量替换,但是这样只能在maven打包的时候才能起作用,对于开发来说就不行,因为开发必须要求在编译的时候就生效。所以就需要使用maven的另一个插件lesscss-maven-plugin,这个插件的作用就是在编译的时候就能把less转换成css,这样做对我们最大的好处就是需要修改的地方是最少的,而且能一劳永逸的解决这个问题。

现在我们来说说这个插件如何配置:

添加插件

<plugin>
    <groupId>org.lesscss</groupId>
    <artifactId>lesscss-maven-plugin</artifactId>
    <version>1.3.3</version>
</plugin>

插件添加好后,就能在 pom.xml ...