当前位置: 首页 > news >正文

免费网站模板的制作方法/最好的免费信息发布平台

免费网站模板的制作方法,最好的免费信息发布平台,低价网站建设优化公司,天津品牌网站建设目录 一、查找jar包类名关键字 二、在jar包中查找指定字段 三、检查jar包冲突脚本 一、查找jar包类名关键字 脚本功能 此脚本在Jar包中的包名和类名中查找某一关键字,并高亮显示匹配的Jar包名称和路径, 解决问题 多用于定位java.lang.NoClassDefF…

目录

一、查找jar包类名关键字

二、在jar包中查找指定字段

三、检查jar包冲突脚本


一、查找jar包类名关键字

脚本功能

此脚本在Jar包中的包名和类名中查找某一关键字,并高亮显示匹配的Jar包名称和路径,

解决问题

多用于定位java.lang.NoClassDefFoundErrorjava.lang.ClassNotFoundException的问题,以及类版本重复或者冲突的问题等。

脚本代码

#!/bin/bash
### 查找jar包中的字段,多用于定位java.lang.NoClassDefFoundError和java.lang.ClassNotFoundException的问题,以及类版本重复或者冲突的问题等。
find . -name "*.jar" > /tmp/find_in_jar_temp
while read line
doif unzip -l $line | grep $1 &> /tmp/find_in_jar_temp_secondthenecho $line | sed 's#\(.*\)#\x1b[1;31m\1\x1b[00m#'cat /tmp/find_in_jar_temp_secondfi
done < /tmp/find_in_jar_temp

命令格式

find-jar-field 关键字或者类名 路径
例如
./find-jar-field TaskQueue ./lib/

命令效果

二、在jar包中查找指定字段

脚本功能

这个脚本在Jar包中进行二进制内容查找指定的字段

解决问题

经常可以解决一些很神奇的问题,例如某些功能上线没有生效、某些日志没有打印,上了新功能却没有展示,就可以通过这个命令查找打的包是否有问题。

脚本代码

#!/bin/bash
### 查找路径下jar包包含的字段if [ $# -lt 2 ];thenecho 'Usage : jargrep text path'exit 1;
fiLOOK_FOR=$1
LOOK_FOR=`echo ${LOOK_FOR//\./\/}`
folder=$2
echo "find '$LOOK_FOR' in $folder "
for i in `find $2 -name "*jar"`
dounzip -p $i | grep "$LOOK_FOR" > /dev/nullif [ $? = 0   ]thenecho "==> Found \"$LOOK_FOR\" in $i"fi
done

命令格式

grep-jar  关键字或者类名 路径
例如
./grep-jar TaskQue ./lib

命令效果

三、检查jar包冲突脚本

脚本功能

此脚本用于识别冲突的Jar包,可以在一个根目录下找到所有包含相同类的Jar包,并且根据相同类的多少来判断Jar包的相似度。

解决问题

常常用于某些功能上线不可用或者没有按照预期起到作用,使用此脚本分析是否存在两个版本的类,而老版本的类被Java虚拟机加载,其实,JVM规范并没有规定类路径下相同类的加载顺序,实现JVM规范的虚拟机的实现机制也各不相同,因此无法判断相同的类中哪个版本的类会被先加载,因此Jar包冲突是个非常讨厌的问题。

脚本代码

#!/bin/bash
### 脚本用于识别冲突的Jar包,可以在一个根目录下找到所有包含相同类的Jar包
if [ $# -eq 0 ];thenecho "please enter classpath dir"exit -1
fiif [ ! -d "$1" ]; thenecho "not a directory"exit -2
fitmpfile="/tmp/.cp$(date +%s)"
tmphash="/tmp/.hash$(date +%s)"
verbose="/tmp/cp-verbose.log"declare -a files=(`find "$1" -name "*.jar"`)
for ((i=0; i < ${#files[@]}; i++)); dojarName=`basename ${files[$i]}`list=`unzip -l ${files[$i]} | awk -v fn=$jarName '/\.class$/{print $NF,fn}'`size=`echo "$list" | wc -l`echo $jarName $size >> $tmphashecho "$list"
done | sort | awk 'NF{a[$1]++;m[$1]=m[$1]","$2}END{for(i in a) if(a[i] > 1) print i,substr(m[i],2)
}' > $tmpfileawk '{print $2}' $tmpfile |
awk -F',' '{i=1;for(;i<=NF;i++) for(j=i+1;j<=NF;j++) print $i,$j}' |
sort | uniq -c | sort -nrk1 | while read line; dodup=${line%% *}jars=${line#* }jar1=${jars% *}jar2=${jars#* }len_jar1=`grep -F "$jar1" $tmphash | grep ^"$jar1" | awk '{print $2}'`len_jar2=`grep -F "$jar2" $tmphash | grep ^"$jar2" | awk '{print $2}'`# Modified by Robert 2017.4.9#len=$(($len_jar1 > $len_jar2 ? $len_jar1 : $len_jar2))len_jar1=`echo $len_jar1 | awk -F' ' '{print $1}'`len_jar2=`echo $len_jar2 | awk -F' ' '{print $1}'`if [ $len_jar1 -gt $len_jar2 ]thenlen=$len_jar1elselen=$len_jar2fiper=$(echo "scale=2; $dup/$len" | bc -l)echo ${per/./} $dup $jar1 $jar2
done | sort -nr -k1 -k2 |
awk 'NR==1{print "Similarity DuplicateClasses File1 File2"}{print "%"$0}'| column -tsort $tmpfile | awk '{print $1,"\n\t\t",$2}' > $verbose
echo "See $verbose for more details."rm -f $tmpfile
rm -f $tmphash

命令格式

./jar-conflict-detect  关键字或者类名 路径
例如
./jar-conflict-detect ./

命令效果

本文脚本已上传CSDN,需要的可以自己去下载哈~地址为:jar包问题排查脚本.zip-Java代码类资源-CSDN下载

http://www.jmfq.cn/news/4880791.html

相关文章:

  • 湘潭网站建设 就问磐石网络专业/百度的营销中心上班怎么样
  • 福建龙岩网站制作公司/谷歌推广怎么做
  • 源代码做网站/长沙有实力seo优化公司
  • 福建省分行建设银行网站/外贸seo优化公司
  • 中投建设官方网站/怎么申请自己的网络平台
  • 做广告公司网站建设/seo搜索引擎优化总结报告
  • w3c网站怎么做/江苏seo
  • 济南市网站建设/成都排名seo公司
  • 电脑培训班的课程/手机网站优化排名
  • 天津河西做网站公司/百度官网app下载安装
  • 大良营销网站建设平台/西安疫情最新消息
  • 北京高端网站建设费用/运营推广计划
  • 太原网站建设全包/夫唯老师seo
  • cms高端建站/最近一周国内热点新闻
  • 阿里巴巴国际网站官网入口/百度人工服务热线
  • 公安备案交互式网站/网络推广计划方案
  • 长春做商业平台网站/中山做网站推广公司
  • 如何在企业版社保网站做增员/旺道seo推广有用吗
  • 国美网站建设特点/百度关键词排名qq
  • 怎么用wordpress做网站/广州seo报价
  • 吉林省住房建设厅网站/广州百度关键词排名
  • 公众号的微网站怎么做/企业网站推广有哪些方式
  • 网站做301跳转的作用/5118关键词挖掘工具
  • php商城网站开发报告/怎么建立网站平台
  • 想在意大利做购物网站/网址安全检测中心
  • 如何自建外贸网站/百度小程序优化排名
  • 设计公司做网站有用吗/商品推广软文范例200字
  • 做网站前台要学哪些/百度贴吧官网入口
  • 网站营运/友链对网站seo有帮助吗
  • 霍邱网站设计/引流推广效果好的app