maven 配置合并压缩JS+CSS
1 <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 2 <modelVersion>4.0.0</modelVersion> 3 <!-- 项目所在组、机构 --> 4 <groupId>com.test</groupId> 5 <!-- 项目产品名称 --> 6 <artifactId>test-mobile</artifactId> 7 <!-- 项目产品版本 --> 8 <version>1.0.0</version> 9 <!-- pom属性配置 --> 10 <properties> 11 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 12 </properties> 13 <!-- 构建相关配置 --> 14 <build> 15 <!-- maven插件配置 --> 16 <plugins> 17 <plugin> 18 <!-- YUI Compressor Maven压缩插件 --> 19 <groupId>net.alchim31.maven</groupId> 20 <artifactId>yuicompressor-maven-plugin</artifactId> 21 <version>1.3.0</version> 22 <configuration> 23 <!-- 读取js,css文件采用UTF-8编码 --> 24 <encoding>UTF-8</encoding> 25 <!-- 不显示js可能的错误 --> 26 <jswarn>false</jswarn> 27 <!-- 若存在已压缩的文件,会先对比源文件是否有改动 28 有改动便压缩,无改动就不压缩 --> 29 <force>false</force> 30 <!-- 在指定的列号后插入新行 --> 31 <linebreakpos>-1</linebreakpos> 32 <!-- 压缩之前先执行聚合文件操作 --> 33 <preProcessAggregates>true</preProcessAggregates> 34 <!-- 压缩后保存文件后缀 --> 35 <suffix>.min</suffix> 36 <!-- 源目录,即需压缩的根目录 --> 37 <sourceDirectory>${basedir}/mobile</sourceDirectory> 38 <!-- 压缩js和css文件 --> 39 <includes> 40 <include>**/*.js</include> 41 <include>**/*.css</include> 42 </includes> 43 <!-- 以下目录和文件不会被压缩 --> 44 <excludes> 45 <exclude>**/*.min.js</exclude> 46 <exclude>**/*.min.css</exclude> 47 <exclude>scripts/data/*.js</exclude> 48 </excludes> 49 <!-- 压缩后输出文件目录 --> 50 <outputDirectory>${basedir}/mobile</outputDirectory> 51 <!-- 聚合文件 --> 52 <aggregations> 53 <aggregation> 54 <!-- 合并每一个文件后插入一新行 --> 55 <insertNewLine>true</insertNewLine> 56 <!-- 需合并文件的根文件夹 --> 57 <inputDir>${basedir}/mobile/scripts</inputDir> 58 <!-- 最终合并的输出文件 --> 59 <output>${basedir}/mobile/scripts/app/app.js</output> 60 <!-- 把以下js文件合并成一个js文件,是按顺序合并的 --> 61 <includes> 62 <include>app/core.js</include> 63 <include>app/mlmanager.js</include> 64 <include>app/tmpl.js</include> 65 <include>app/ui.js</include> 66 </includes> 67 </aggregation> 68 </aggregations> 69 </configuration> 70 </plugin> 71 </plugins> 72 </build> 73 </project>
原文地址:http://wang-jia-sina-com.iteye.com/blog/1538000