最近一段时间一直在做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