项目结构如图
我们的目的是将js中的js文件压缩到app.js,css中的base.css和main.css压缩到app.css中,步骤如下:
一、引入yuicompressor的依赖
<dependency>
<groupId>com.yahoo.platform.yui</groupId>
<artifactId>yuicompressor</artifactId>
<version>2.3.6</version>
<type>jar</type>
</dependency>
二、引入maven-antrun-plugin插件
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.3</version>
<executions>
<execution>
<id>compile</id>
<phase>compile</phase>
<configuration>
<tasks>
<property name="yuicompressor.jar" value="${maven.dependency.com.yahoo.platform.yui.yuicompressor.jar.path}"/>
<ant antfile="yuicompress.xml" target="clean"/>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
三、编写ant脚本文件yuicompress.xml
<?xml version="1.0" encoding="utf-8"?>
<project name="MyProject" >
<description>Javascritp build for Ant</description>
<property name="webapp" location="${basedir}/src/main/webapp"/>
<property name="css" location="${webapp}/css"/>
<property name="js" location="${webapp}/js"/>
<property name="build" location="${js}/build"/>
<property name="charset" value="utf-8"/>
<!-- - - - - - - - - - - - - - - - - -
这个 ant 配置文件要经过4个流程:
1、target init 进行初始化处理,创建一个目录build,用于暂存文件;
2、target concat 合并js 文件,放到 build 目录下;
3、target compress 调用 Yui Compressor 对合并后的 js 进行压缩
4、target clean 进行清理动作,删除生成的 build 目录
ANT标签和属性解释:
project 的 default 对应某个 target 的 name 值,表示默认执行哪个步骤;
target 的 depends 对应其他某些 target 的 name 属性,表示依赖性;
${name} 可以引用 property 中定义的值。
mkdir 标签创建一个目录
replaceregexp, 正则表达式替换,将DEBUG标识替换为空,在正式环境不处理DEBUG信息
注意设置文件的 encoding 属性,否则可能有乱码情况
关于ANT的详细文档,请看官方手册:http://ant.apache.org/manual/
- - - - - - - - - - - - - - - - - -->
<target name="init">
<mkdir dir="${build}" />
</target>
<target name="concat" depends="init">
<concat destfile="${build}/all.js" encoding="${charset}" outputencoding="${charset}">
<fileset dir="${js}">
<include name="*.js"/>
</fileset>
</concat>
<concat destfile="${build}/all.css" encoding="${charset}" outputencoding="${charset}" >
<path path="${css}/base.css"/>
<path path="${css}/main.css"/>
</concat>
</target>
<target name="compress" depends="concat">
<echo message="start compress" />
<java jar="${yuicompressor.jar}" fork="true" failonerror="false">
<arg line="--type js --charset ${charset} --nomunge ${build}/all.js -o ${js}/app.js" />
</java>
<java jar="${yuicompressor.jar}" fork="true" failonerror="false">
<arg line="--type css --charset ${charset} ${build}/all.css -o ${css}/app.css" />
</java>
<echo message="end compress" />
</target>
<target name="clean" depends="compress">
<delete dir="${build}"/>
</target>
</project>
四、运行compile命令,在控制台查看输出信息,success表示成功啦
分享到:
相关推荐
将YUI Compressor集成到Maven项目中,可以实现自动化压缩JS和CSS文件的功能,这在部署前是一个非常重要的步骤,可以显著减小文件大小,从而加速网页加载。 ### 配置Maven插件 在给定的部分内容中,可以看到一个`...
通过这种方式,Maven结合YUI Compressor可以自动化地处理项目中的CSS和JS文件,提高页面加载速度,减少用户等待时间,同时保持代码的可读性,因为原始未压缩文件仍然存在。这种优化方法对于大型Web应用尤其重要,...
总的来说,Java开发中压缩js和css文件是提高Web应用性能的重要手段。通过选择合适的工具,结合构建工具和自定义逻辑,可以轻松地实现这一目标,确保用户能够快速加载和浏览网页。而在这个过程中,理解文件压缩的原理...
YUI Compressor是由Yahoo开发的一款高效的JavaScript和CSS压缩工具,它可以删除代码中的空格、注释,并进行变量和函数名的混淆,从而达到压缩的目的。 以下是使用Ant和YUI Compressor进行批量压缩的基本步骤: 1. ...
4. **Maven3**:Maven是一个项目管理和综合工具,它管理项目的构建、报告和文档,通过依赖管理和项目信息管理简化项目的构建过程。Maven 3引入了更好的多模块项目支持、更强大的插件管理以及更高效的仓库搜索机制。 ...
yuicompressor-maven-plugin, 用于压缩 (Minify/Ofuscate/Aggregate) Javascript文件和使用 YUI 压缩器的CSS文件的Maven 插件 [[Flattr this git repo] ( http://api.flattr.com/button/flattr-badge-large.png)]...
在IT行业中,优化网站性能是至关重要的,其中一项关键技术就是对JavaScript(JS)和Cascading Style Sheets(CSS)进行压缩和混淆。本实例源码"JS和CSS压缩混淆 JsCompressor.zip"提供了基于Java实现的工具,用于...
`YUI Compressor` 的主要功能是对JavaScript和CSS文件进行压缩,去除代码中的空白、注释和不必要的字符。它使用了高效的代码混淆算法,将变量名替换为简短的单字母形式,进一步减小文件体积。同时,对于CSS,它还会...
缩小Maven插件Minify Maven插件结合并最小化了CSS和JavaScript文件,从而加快了页面加载速度。 它会生成CSS和JavaScript资源的...压缩JavaScript和CSS 压缩/压缩是一种从代码中删除不必要的字符以减小其大小,从而缩短
Maven 压缩插件 压缩:CSS,JS 文件 ...压缩:jsp 中的JS,CSS 代码块 JSP 引用资源文件版本控制。 JSP 引用JS,CSS,IMG CDN 域名支持 JS 中文Unicode处理。 插件详细描述请Down下项目中查看README.MD文件
在IT行业中,优化网站性能是至关重要的,其中一项关键技术就是对JavaScript (JS) 和 Cascading Style Sheets (CSS) 进行压缩和混淆。这个名为"JS和CSS压缩混淆 JsCompressor.zip"的压缩包文件提供了基于Java的源码,...
Maven 压缩插件 压缩:CSS,JS 文件 压缩:jsp 中的JS,CSS 代码块 JSP 引用资源文件版本控制。 JSP 引用JS,CSS,IMG CDN 域名支持 JS 中文Unicode处理。
在IT行业中,优化Web应用程序的性能是至关重要的,其中一种方式就是通过压缩JavaScript(*.js)和CSS(*.css)文件。"eclipse yuicompressor-maven-plugin"是Maven生态系统中的一个插件,专门用于这个目的。下面将...
**yuicompressor-maven-plugin详解** `yuicompressor-maven-plugin`是一款强大的Maven插件,主要用于优化前端...通过合理的配置和使用,开发者可以有效地管理项目中的JavaScript和CSS文件,同时保持代码质量和性能。
【标签】"maven"是Java项目管理工具,它负责项目的构建、依赖管理和项目信息管理。Maven使用POM(Project Object Model)来定义项目,通过配置文件管理项目依赖,自动下载所需库,并可执行构建任务如编译、测试、...
在描述中提到的博客链接,虽然无法直接访问,但根据常见的 Maven overlay 实战场景,我们可以推断博主可能分享了如何设置和使用 Maven overlay 来合并多个 Web 项目的资源,如 JSP 页面、CSS、JavaScript 文件等,以...
这个"SSM项目+maven包.zip"压缩文件包含了基于SSM架构的完整项目示例,适合学习和理解SSM如何协同工作。下面将详细阐述这三大框架以及它们在项目中的应用。 1. **Spring框架**:Spring是Java企业级应用的核心框架,...
- **资源管理**:Maven可以处理项目中的静态资源,如HTML、CSS、JavaScript等,将其复制到目标目录。 - **打包与部署**:Maven支持多种打包类型,如JAR、WAR或EAR,可以将项目打包成可部署的格式。通过Maven的...
开发人员可以解压这个文件,查看pom.xml以了解项目的依赖关系,查阅src/main/java和src/main/resources下的代码和资源,理解项目的功能实现和配置。同时,测试代码可以用来验证项目的正确性。为了运行和开发这个项目...