`

Maven项目中压缩js和Css代码

    博客分类:
  • Ant
阅读更多

项目结构如图

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

我们的目的是将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表示成功啦

 

 

分享到:
评论
2 楼 liudong19870227 2012-08-29  
8465279130 写道
小伙不赖嘛

你是谁啊
1 楼 8465279130 2012-08-28  
小伙不赖嘛

相关推荐

    maven+yui压缩js,css文件

    将YUI Compressor集成到Maven项目中,可以实现自动化压缩JS和CSS文件的功能,这在部署前是一个非常重要的步骤,可以显著减小文件大小,从而加速网页加载。 ### 配置Maven插件 在给定的部分内容中,可以看到一个`...

    maven打包使用yui压缩css和js文件

    通过这种方式,Maven结合YUI Compressor可以自动化地处理项目中的CSS和JS文件,提高页面加载速度,减少用户等待时间,同时保持代码的可读性,因为原始未压缩文件仍然存在。这种优化方法对于大型Web应用尤其重要,...

    java开发中压缩js,css文件

    总的来说,Java开发中压缩js和css文件是提高Web应用性能的重要手段。通过选择合适的工具,结合构建工具和自定义逻辑,可以轻松地实现这一目标,确保用户能够快速加载和浏览网页。而在这个过程中,理解文件压缩的原理...

    使用Ant构建批量压缩js、css文件脚本

    YUI Compressor是由Yahoo开发的一款高效的JavaScript和CSS压缩工具,它可以删除代码中的空格、注释,并进行变量和函数名的混淆,从而达到压缩的目的。 以下是使用Ant和YUI Compressor进行批量压缩的基本步骤: 1. ...

    maven项目springMVC demo

    4. **Maven3**:Maven是一个项目管理和综合工具,它管理项目的构建、报告和文档,通过依赖管理和项目信息管理简化项目的构建过程。Maven 3引入了更好的多模块项目支持、更强大的插件管理以及更高效的仓库搜索机制。 ...

    yuicompressor-maven-plugin, 用于压缩 (Minify/Ofuscate/Aggregate) Javascript文件和使用 YUI 压缩器的CSS文件的Maven 插件.zip

    yuicompressor-maven-plugin, 用于压缩 (Minify/Ofuscate/Aggregate) Javascript文件和使用 YUI 压缩器的CSS文件的Maven 插件 [[Flattr this git repo] ( http://api.flattr.com/button/flattr-badge-large.png)]...

    基于Java的实例源码-JS和CSS压缩混淆 JsCompressor.zip

    在IT行业中,优化网站性能是至关重要的,其中一项关键技术就是对JavaScript(JS)和Cascading Style Sheets(CSS)进行压缩和混淆。本实例源码"JS和CSS压缩混淆 JsCompressor.zip"提供了基于Java实现的工具,用于...

    yui compressor 2.4.2 javascript/css压缩程序

    `YUI Compressor` 的主要功能是对JavaScript和CSS文件进行压缩,去除代码中的空白、注释和不必要的字符。它使用了高效的代码混淆算法,将变量名替换为简短的单字母形式,进一步减小文件体积。同时,对于CSS,它还会...

    minify-maven-plugin:缩小js,css,html

    缩小Maven插件Minify Maven插件结合并最小化了CSS和JavaScript文件,从而加快了页面加载速度。 它会生成CSS和JavaScript资源的...压缩JavaScript和CSS 压缩/压缩是一种从代码中删除不必要的字符以减小其大小,从而缩短

    maven压缩插件

    Maven 压缩插件 压缩:CSS,JS 文件 ...压缩:jsp 中的JS,CSS 代码块 JSP 引用资源文件版本控制。 JSP 引用JS,CSS,IMG CDN 域名支持 JS 中文Unicode处理。 插件详细描述请Down下项目中查看README.MD文件

    基于Java的源码-JS和CSS压缩混淆 JsCompressor.zip

    在IT行业中,优化网站性能是至关重要的,其中一项关键技术就是对JavaScript (JS) 和 Cascading Style Sheets (CSS) 进行压缩和混淆。这个名为"JS和CSS压缩混淆 JsCompressor.zip"的压缩包文件提供了基于Java的源码,...

    maven 压缩插件

    Maven 压缩插件 压缩:CSS,JS 文件 压缩:jsp 中的JS,CSS 代码块 JSP 引用资源文件版本控制。 JSP 引用JS,CSS,IMG CDN 域名支持 JS 中文Unicode处理。

    eclipse yuicompressor-maven-plugin

    在IT行业中,优化Web应用程序的性能是至关重要的,其中一种方式就是通过压缩JavaScript(*.js)和CSS(*.css)文件。"eclipse yuicompressor-maven-plugin"是Maven生态系统中的一个插件,专门用于这个目的。下面将...

    yuicompressor-maven-plugin

    **yuicompressor-maven-plugin详解** `yuicompressor-maven-plugin`是一款强大的Maven插件,主要用于优化前端...通过合理的配置和使用,开发者可以有效地管理项目中的JavaScript和CSS文件,同时保持代码质量和性能。

    MyEclipse+Maven项目(SpringMVC+MyBatis).zip

    【标签】"maven"是Java项目管理工具,它负责项目的构建、依赖管理和项目信息管理。Maven使用POM(Project Object Model)来定义项目,通过配置文件管理项目依赖,自动下载所需库,并可执行构建任务如编译、测试、...

    maven笔记:maven-overlay-实战笔记

    在描述中提到的博客链接,虽然无法直接访问,但根据常见的 Maven overlay 实战场景,我们可以推断博主可能分享了如何设置和使用 Maven overlay 来合并多个 Web 项目的资源,如 JSP 页面、CSS、JavaScript 文件等,以...

    SSM项目+maven包.zip

    这个"SSM项目+maven包.zip"压缩文件包含了基于SSM架构的完整项目示例,适合学习和理解SSM如何协同工作。下面将详细阐述这三大框架以及它们在项目中的应用。 1. **Spring框架**:Spring是Java企业级应用的核心框架,...

    maven 项目管理

    - **资源管理**:Maven可以处理项目中的静态资源,如HTML、CSS、JavaScript等,将其复制到目标目录。 - **打包与部署**:Maven支持多种打包类型,如JAR、WAR或EAR,可以将项目打包成可部署的格式。通过Maven的...

    web的Maven工程代码.zip

    开发人员可以解压这个文件,查看pom.xml以了解项目的依赖关系,查阅src/main/java和src/main/resources下的代码和资源,理解项目的功能实现和配置。同时,测试代码可以用来验证项目的正确性。为了运行和开发这个项目...

Global site tag (gtag.js) - Google Analytics