`
ferreousbox
  • 浏览: 284782 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

使用pack200压缩jar文件

阅读更多

    最近一段时间一直在做RCP开发,考虑到发布时带的jar包过大影响传输的问题,就想到通过java的pack200工具来给jar瘦瘦身,呵呵。pack200还是能够非常有效的减小jar包的体积的,使用非常简单,如下:

 

pack200 输出文件(如com.best.test.pack.gz) 源文件(如com.best.jar)

 

    简单的一句话就可以压缩jar包了,然后自己写了一个批处理来处理目录下的所有jar文件,毕竟一个个的敲命令,文件多的时候可真是一个力气活,呵呵。

 

 

1.使用pack200压缩当前目录下的所有jar包的批处理(pack.bat)

 

::======================================================
::列表plugin目录下的所有jar包,并进行pack200压缩处理。
::将压缩后的文件命名为:原始文件名(不要jar后缀)+pack.gz
::Author:铁木箱子
::Data:2008.08.22
::======================================================

@echo off
setlocal enabledelayedexpansion
set suffix=pack.gz
for %%i in (*.jar) do (
  set oName=%%i
  set tName=!oName:~0,-3!
  set nName=!tName!!suffix!
  ::@echo "pack "!oName!" to "!nName!
  echo 处理文件:!oName!
  start /wait pack200 !nName! !oName!
  del /F !oName!
  set /a fNums+=1
)
echo ====================================================
echo Congratulations!文件处理完成,共压缩了!fNums!个文件!
echo ====================================================
endlocal

pause

 

 

 

2.使用unpack200解压缩当前目录下的所有经过pack200处理后的文件的批处理(unpack.bat)

 

::======================================================
::列表plugin目录下的所有经过pack200处理的压缩包并还原。
::将解压缩后的文件命名为:原始文件名(不要pack.gz后缀)+jar
::Author:铁木箱子
::Data:2008.08.22
::======================================================

@echo off
setlocal enabledelayedexpansion
set suffix=jar
for %%i in (*.pack.gz) do (
  set oName=%%i
  set tName=!oName:~0,-7!
  set nName=!tName!!suffix!
  ::@echo "unpack "!oName!" to "!nName!
  echo 处理文件:!oName!
  start /wait unpack200 !oName! !nName!
  del /F !oName!
  set /a fNums+=1
)
echo ====================================================
echo Congratulations!文件处理完成,共解压缩!fNums!个文件!
echo ====================================================
endlocal

pause

4
1
分享到:
评论
6 楼 di1984HIT 2014-01-03  
学习受教了。
5 楼 sdyjmc 2010-08-18  
不支持目录啊
压缩 packA.bat:

dir %1*.jar /s /a /b > list.txt
FOR /F %%I IN (list.txt) DO pack200 -J-Xmx245m %%I.gz %%I
FOR /F %%I IN (list.txt) DO del %%I

解压缩:

unpackA.bat

@echo on
pause
dir *.gz /s /a /b /X > list.txt
FOR /F %%I IN (list.txt) DO (unpack %%I)
del list.txt
pause

unpack.bat

@echo off
echo %1
set from=%1
set to=%from:~0,-3%
unpack200 -r %from%  %to%
pause

唯一的遗憾是目录不支持空格
4 楼 ferreousbox 2009-05-07  
对于大文件确实有压缩减小的问题,这个是我的疏忽,希望大家可以提出更好的解决方案。
3 楼 lorrycat 2009-05-07  
我用了 -J-Xmx256m  为什么解压后还是少了1k...郁闷。。。
2 楼 banditgao 2008-12-28  
你的批处理语句有问题

应该是这样的

start /wait unpack200 -J-Xmx256m !oName! !nName!

pack和unpack语句都不能缺参数 -J-Xmx256m  ,否则大文件看似没问题,其实前后大小不一致!
1 楼 banditgao 2008-12-28  
有点意思啊

相关推荐

    pack200-maven-plugin:Maven 插件来执行“pack200 - JAR 打包工具”

    pom.xml 文件中: <groupId>com.arhs.maven.plugins</groupId><artifactId>pack200-maven-plugin</artifactId>例子下面的示例允许检查 JAR 文件是否可以压缩,然后使用默认名称创建压缩文件: <plugin> <groupId>...

    .pack转.jar

    .pack文件转为.jar文件,路径直接自己配置即可

    pack.jar pack

    pack.jar pack

    x-pack-5.6.3.jar

    x-pack-5.6.3.jar 是 elk 必备文件 5.6.3 X-Pack elasticsearch logstash kibana 参考: https://www.waitig.com/x-pack破解.html http://blog.csdn.net/qq_20641565/article/details/78286894 # curl -u elastic:...

    jar转换器

    将txt格式文件转换为jar格式文件,适合手机java程序运行!!!!

    x-pack-5.6.4.jar

    x-pack-5.6.4.jar 是 elk 必备文件 5.6.4 X-Pack elasticsearch logstash kibana 步骤:下载本文件,替换elasticsearch里同名文件,重启es、kibana,申请注册文件,修改注册文件到永久,注册,搞定。 参考: ...

    x-pack 6.3.0 破解jar包

    替换\elasticsearch-6.3.0\modules\x-pack\x-pack-core\x-pack-core-6.3.0.jar文件

    x-pack-core-6.6.1.jar 破解包

    替换\elasticsearch-6.6.1\modules\x-pack\x-pack-core\x-pack-core-6.6.1.jar文件 可用

    x-pack.5.4.0.jar

    Elasticsearch的x-pack插件的jar包

    x-pack6.2.3.jar

    x-pack-core-6.2.3.jar 目前最新版本破解包。亲测可用,x-pack-6.2.3.zip 因为太大,稍后上传

    x-pack 破解后jar包

    自己编译,已经能在生产环境使用过,有问题可以联系我 q 703457326

    ElasticSearch x-pack-core-6.5.4.jar

    1、替换文件 elasticsearch-6.5.4/modules/x-pack-core/x-pack-core-6.5.4.jar 2、到官网注册一个basic license(free) 3、修改license.json 将 "type":"basic" 替换为 "type":"platinum" # 基础班变更为铂金版 将 ...

    x-pack-5.6.0.jar 破解版

    x-pack-5.6.0.jar 破解版,已经反编译后,再进行编译放入压缩包

    x-pack-transport-6.4.2.jar

    当elasticsearch配置了x-pack后,我们需要引入该jar包,进行认证配置后,才可以连接上es,进行相关操作。

    完整jar包资源,COULD NOT FIND jcommander,包缺失使用

    打包找不到 jcommander COULD NOT FIND jcommander-1.48 解压后将jar包与pom文件都放在.m2\repository指定路径下

    x-pack-core-6.4.3.jar 破解 下载

    x-pack-core-6.4.3.jar 破解文件,下载替换后可以直接使用。 需要替换的文件由于安装方式可能会不同, 一般在/usr/share/elasticsearch/modules/x-pack-core/下。

    x-pack-core-6.4.2.jar

    elasticsearch安装x-pack插件,x-pack-core-6.4.2.jar,替换掉es目录modules/x-pack-core下原来的x-pack-core-6.4.2.jar

    x-pack-sql-jdbc-7.4.2.jar

    x-pack-sql-jdbc-7.4.2.jar jdbc驱动包 x-pack-sql-jdbc-7.4.2.jar jdbc驱动包

    x-pack-sql-jdbc-6.8.0.jar

    x-pack-sql-jdbc-6.8.0.jar

    x-pack-6.6.1.jar最新破解包

    x-pack-core-6.6.1.jar最新破解文件。直接提供jar包,替换后,导入json,到kibana许可证书 白金版x-pack,期限到2060年

Global site tag (gtag.js) - Google Analytics