Skip to content

castielcn/jcv-maven-plugin

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

jcv-maven-plugin


简介

jcv-maven-plugin是一个自动为网页添加js.css的版本号工具,支持多种方法版本号添加,采集文件的md5值进行文件版本号修订,这个可以在每次更新的时候只修改以修改文件的版本号,防止全部js缓存失效,目前该插件以发布到mvn中央仓库,可以坐标引用使用.

Quick Start

引入maven依赖

			<plugin>
				<groupId>com.iqarr.maven.plugin</groupId>
				<artifactId>jcv-maven-plugin</artifactId>
				<version>0.0.3</version>
				<executions>
				   <execution>
                    <id>process</id>
                    <phase>package</phase>
                    <goals>
                        <goal>process</goal>
                    </goals>
                </execution>
				</executions>
				<configuration>
				    <baseJsDomin>
				       <param>http://script.iqarr.com</param>
				    </baseJsDomin>
				    <baseCssDomin>
				       <param>http://style.iqarr.com</param>
				       <param>http://script.iqarr.com</param>
				    </baseCssDomin>
					<!--需要处理文件后缀-->
					<suffixs>
						<param>html</param>
						<param>jsp</param>
					</suffixs>
                    <!--清理页面注释-->
					<clearPageComment>true</clearPageComment>
					 <globaJsMethod>MD5FileName_METHOD</globaJsMethod>
					 <globaCssMethod>MD5FileName_METHOD</globaCssMethod>
                     <!-- 压缩js-->
                      <compressionJs>true</compressionJs>
                      <!-- 压缩css-->
					<compressionCss>true</compressionCss>
				</configuration>
			</plugin>

配置war插件

     <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-war-plugin</artifactId>
         <version>2.6</version>
         <configuration>
            <warSourceDirectory>${basedir}/src/main/webapp</warSourceDirectory>
            <encoding>${build.source.encoding}</encoding>
            <!--如果使用md5文件名 就必须排除相应的js css -->
            <!--在使用普通的模式的时候需要配置jsp html -->
            <warSourceExcludes>**/*.html,**/*.jsp,**/*.js,**/*.css</warSourceExcludes>
                 <webResources>
						<resource>
							<directory>${basedir}/src/main/webapp/js/common</directory>
							<includes>
								<include>config.js</include>
							</includes>
							<filtering>true</filtering>
							<targetPath>js/common</targetPath>
						</resource>
			  </webResources>
         </configuration>
       </plugin>

打包

	mvn package
# 注意该插件不会在eclipse中生效,在package后才会生效

参数说明:

  1. outputDirectory
  • 输出文件目录
  • 默认${project.build.directory}
  1. webappDirectory
  • webapp目录
  • 默认值:${basedir}/src/main/webapp
  1. suffixs
  • 检查文件的后缀
  • 默认jsp
  • 参数:
  <suffixs>
   	<param>html</param>
   	<param>jsp</param>
   </suffixs>
  1. baseJsDomin
  • 基本js域名,在使用<script src="proxy.php?url=http%3A%2F%2Fscript.iqarr.com%2Fjs%2Fjquery%2Fjquery%2F1.8.3%2Fjquery.js"></script>这种方式需要配置
  • 参数:
   <baseJsDomin>
		<param>http://script.iqarr.com</param>
	</baseJsDomin>
  1. baseCssDomin
  • 基本css域名,在使用<link rel="stylesheet" type="text/css" href="proxy.php?url=http%3A%2F%2Fstyle.iqarr.com%2Fcss%2Fpublic.css%3F" />这种方式需要配置
  • 参数:
   <baseCssDomin>
		<param>http://style.iqarr.com</param>
	</baseCssDomin>
  1. globaJslPrefixPath
  • 全局js path路径
  1. globaCsslPrefixPath
  • 全局css path路径
  1. globaJsMethod
  • 全局js版本号使用方法(单个参数)

  • TIMESTAMP_METHOD

    时间戳方式: 该方式生成为打包时间的时间戳(不建议使用),会在最后添加?versionLable=

  • MD5_METHOD

    md5做为版本号:会在最后添加?versionLable=md5值

  • MD5FileName_METHOD

md5文件名方式:该方式会将js文件替换为该文件的md5

  1. globaCssMethod
  • 参考globaJsMethod方式
  1. webRootName
  • 最终项目名称
  • 默认值:${project.build.finalName}
  1. versionLable

    • 版本号标签:
    • 默认:version
  2. sourceEncoding

    • 文件编码
    • 默认:UTF-8
  3. clearPageComment

    • 清除页面注释,该注释为html <!-- -->标准注释的清除
    • 默认:false
  4. outJSCSSDirPath

    • 在使用md5文件名时候使用数据全修改文件后的文件目录(不配置就默认替换当前的文件位置)
  5. compressionCss

    • 清除css注释,并清理换行
    • 默认:false
  6. compressionJs

    • 清除css注释,并清理换行
    • 默认:false
  7. userCompressionSuffix

    • 压缩文件后缀
    • 默认: min
  8. excludesJs

    • 排除js文件(只支持全路径匹配)
   <excludesJs>
		<param>js/dome.js</param>
	</excludesJs>
  1. excludesCss

    • 排除css文件(只支持全路径匹配)
   <excludesCss>
		<param>css/dome.css</param>
	</excludesCss>
  1. yuiConfig

    • 配置压缩选项
	<yuiConfig>
		  <!-- 禁止优化(默认false) -->
		  <disableOptimizations></disableOptimizations>
		 <!-- 只压缩, 不对局部变量进行混淆(默认true) -->
		 <nomunge></nomunge>
		 <!-- 保留所有的分号(默认true) -->
		<preserveSemi></preserveSemi>
		<!-- 显示详细信息(默认false) -->
		<verbose></verbose>
	</yuiConfig>
  1. braekFileNameSuffix

    • 跳过文件名后缀(后缀之前的名称),例如: ok.min.js 如果想跳过就需要配置.min
    • 默认:.min

About

jcv-maven-plugin是一个自动为网页添加js.css的版本号工具,支持多种方法版本号添加,采集文件的md5值进行文件版本号修订,这个可以在每次更新的时候只修改以修改文件的版本号,防止全部js缓存失效,目前该插件以发布到mvn中央仓库,可以坐标引用使用.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Java 98.9%
  • Other 1.1%