排除jar程序

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u011216981/article/details/64128317

写了一个java工程后,因为那个jar是一个系列的,所以前期没有挑,直接全部要引用,差不多有200多个。
所以写好后,就需要排除没有用的jar,
基本思想
lib是引用包位置
dellib是存放排除jar包的位置
1.引用lib包下所有的jar,运行程序,以jar包个数决定执行次数,因为每次都是排除一个jar
2.移除一个jar,如果能能正常运行,执行步骤1.
3.移除一个jar,如果不能正常运行,把移除的jar放回去,执行步骤1.

小技巧:
1.循环读取jar包
for tradePortalJar in ../gislib/*.jar;
do
CLASSPATH=”CLASSPATH":"tradePortalJar”
done
2.处理脚本

bin=$(dirname ${BASH_SOURCE-$0})
bin=$(cd $bin; pwd)
cd $bin/../gislib
for tradePortalJar in *.jar;
do
   mv $tradePortalJar ../dellib/
echo $tradePortalJar 
cd $bin
  ./b.sh > lib.out 2>&1
  info=`grep NoClassDefFoundError lib.out`
  if [[ $info =~ "NoClassDefFoundError" ]];then
   echo "del :$tradePortalJar"  
     mv ../dellib/$tradePortalJar ../gislib
  fi
 cd $bin/../gislib
done

3.b.sh

./splus.sh <<EOF
load shapefile etltest -file ../gisdata/shapetest1.shp;
exit;
EOF
展开阅读全文

没有更多推荐了,返回首页