- 浏览: 249711 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
no_studio:
期待实现SqlServer
发布异种数据库导入工具jmyetl-1.0.2 -
babydeed:
不错 再接再厉
发布异种数据库导入工具jmyetl-1.0.2 -
iihero:
niwtsew 写道贴个俺自己写的linux下的版本,其实没必 ...
命令行快速找出class文件所在的jar包 -
niwtsew:
说错,是strings不是string
命令行快速找出class文件所在的jar包 -
niwtsew:
贴个俺自己写的linux下的版本,其实没必要用7z,直接jar ...
命令行快速找出class文件所在的jar包
for %i in (dir/b/s *.jar) do 7z l %i | findstr XDatabase.class
示例输出:
D:\shared\xsql>for %i in (dir/b/s *.jar) do 7z l %i |findstr XDatabase.class D:\shared\xsql>7z l dir/b/s | findstr XDatabase.class D:\shared\xsql>7z l db2jcc.jar | findstr XDatabase.class D:\shared\xsql>7z l db2jcc_license_cu.jar | findstr XDatabase.class D:\shared\xsql>7z l jconn3.jar | findstr XDatabase.class D:\shared\xsql>7z l jodbc.jar | findstr XDatabase.class D:\shared\xsql>7z l jTDS3.jar | findstr XDatabase.class D:\shared\xsql>7z l mlscript.jar | findstr XDatabase.class D:\shared\xsql>7z l msbase.jar | findstr XDatabase.class D:\shared\xsql>7z l mssqlserver.jar | findstr XDatabase.class D:\shared\xsql>7z l msutil.jar | findstr XDatabase.class D:\shared\xsql>7z l mysql-connector-java-5.1.6-bin.jar | findstr XDatabase.class D:\shared\xsql>7z l ojdbc14.jar | findstr XDatabase.class D:\shared\xsql>7z l postgresql-8.4-701.jdbc4.jar | findstr XDatabase.class D:\shared\xsql>7z l sqlite.jar | findstr XDatabase.class D:\shared\xsql>7z l sqlitejdbc-v056-zentus.jar | findstr XDatabase.class D:\shared\xsql>7z l sqljdbc.jar | findstr XDatabase.class D:\shared\xsql>7z l ULjDatabaseTransfer.jar | findstr XDatabase.class D:\shared\xsql>7z l UltraLiteJ.jar | findstr XDatabase.class D:\shared\xsql>7z l UltraLiteJ12.jar | findstr XDatabase.class [b]D:\shared\xsql>7z l xsql.jar | findstr XDatabase.class 2010-12-24 21:05:40 ..... 30863 14443 [/b]com\sean\db\XDatabase.class
上述命令弄得还是比较粗糙,干脆写一个批处理findclass.bat
内容如下:
@echo off SETLOCAL set WHICH_CLASS=%1 echo WHICH_CLASS=%WHICH_CLASS% for /F %%i in ('dir /A:-D /S /B *.jar') do 7z l %%i | findstr %WHICH_CLASS% && echo %WHICH_CLASS% found in: "%%i" echo "Finished class finding..." echo "======================================" ENDLOCAL
这样想查找一个class就很容易了:
引用
findclass com\\sybase\\afx\\util\\StringUtil.class
WHICH_CLASS=com\\sybase\\afx\\util\\StringUtil.class
2012-02-27 13:14:36 ..... 15230 5915 com\sybase\afx\util\StringUtil.class
com\\sybase\\afx\\util\\StringUtil.class found in: "U:\target\lib\ext\sup-client.jar"
2012-02-27 13:14:36 ..... 15230 5915 com\sybase\afx\util\StringUtil.class
com\\sybase\\afx\\util\\StringUtil.class found in: "U:\target\lib\ext\sup-server-rt.jar"
"Finished class finding..."
"======================================"
WHICH_CLASS=com\\sybase\\afx\\util\\StringUtil.class
2012-02-27 13:14:36 ..... 15230 5915 com\sybase\afx\util\StringUtil.class
com\\sybase\\afx\\util\\StringUtil.class found in: "U:\target\lib\ext\sup-client.jar"
2012-02-27 13:14:36 ..... 15230 5915 com\sybase\afx\util\StringUtil.class
com\\sybase\\afx\\util\\StringUtil.class found in: "U:\target\lib\ext\sup-server-rt.jar"
"Finished class finding..."
"======================================"
其实,最想弄的,是把7z的源码稍作修改,直接让7z l <文件> | findstr <class> 直接同时输出文件名,那是最好的办法。
评论
3 楼
iihero
2012-02-28
niwtsew 写道
贴个俺自己写的linux下的版本,其实没必要用7z,直接jar tf就可以察看jar里的内容,或者linux下用string也可以
#!/bin/ksh
#this script is used to find class in which jar file
if [ "$#" -le "1" ]; then
echo "Usage: $0 class_name jar_path_1 [jar_path2]...[jar_pathn]"
exit 1
fi
#class to be found
CLASS=$1
shift 1
for JAR in $*
do
if [ -d ${JAR} ]
then
JARS=`find ${JAR} -name "*.jar"`
else
JARS=${JAR}
fi
FOUND=""
for EACHJAR in ${JARS}
do
FOUND=$(jar tf ${EACHJAR}|grep ${CLASS})
if [ "x${FOUND}" != "x" ]
then
echo "-----------------------------------"
echo ${CLASS} was found in ${EACHJAR}
echo ${FOUND}|tr " " "\n"|grep -v .classPK
fi
done
done
exit 0
#!/bin/ksh
#this script is used to find class in which jar file
if [ "$#" -le "1" ]; then
echo "Usage: $0 class_name jar_path_1 [jar_path2]...[jar_pathn]"
exit 1
fi
#class to be found
CLASS=$1
shift 1
for JAR in $*
do
if [ -d ${JAR} ]
then
JARS=`find ${JAR} -name "*.jar"`
else
JARS=${JAR}
fi
FOUND=""
for EACHJAR in ${JARS}
do
FOUND=$(jar tf ${EACHJAR}|grep ${CLASS})
if [ "x${FOUND}" != "x" ]
then
echo "-----------------------------------"
echo ${CLASS} was found in ${EACHJAR}
echo ${FOUND}|tr " " "\n"|grep -v .classPK
fi
done
done
exit 0
曾经考虑过使用jar命令,无奈运行速度实在太慢了,跟7z没法比。
2 楼
niwtsew
2012-02-28
说错,是strings不是string
1 楼
niwtsew
2012-02-28
贴个俺自己写的linux下的版本,其实没必要用7z,直接jar tf就可以察看jar里的内容,或者linux下用string也可以
#!/bin/ksh
#this script is used to find class in which jar file
if [ "$#" -le "1" ]; then
echo "Usage: $0 class_name jar_path_1 [jar_path2]...[jar_pathn]"
exit 1
fi
#class to be found
CLASS=$1
shift 1
for JAR in $*
do
if [ -d ${JAR} ]
then
JARS=`find ${JAR} -name "*.jar"`
else
JARS=${JAR}
fi
FOUND=""
for EACHJAR in ${JARS}
do
FOUND=$(jar tf ${EACHJAR}|grep ${CLASS})
if [ "x${FOUND}" != "x" ]
then
echo "-----------------------------------"
echo ${CLASS} was found in ${EACHJAR}
echo ${FOUND}|tr " " "\n"|grep -v .classPK
fi
done
done
exit 0
#!/bin/ksh
#this script is used to find class in which jar file
if [ "$#" -le "1" ]; then
echo "Usage: $0 class_name jar_path_1 [jar_path2]...[jar_pathn]"
exit 1
fi
#class to be found
CLASS=$1
shift 1
for JAR in $*
do
if [ -d ${JAR} ]
then
JARS=`find ${JAR} -name "*.jar"`
else
JARS=${JAR}
fi
FOUND=""
for EACHJAR in ${JARS}
do
FOUND=$(jar tf ${EACHJAR}|grep ${CLASS})
if [ "x${FOUND}" != "x" ]
then
echo "-----------------------------------"
echo ${CLASS} was found in ${EACHJAR}
echo ${FOUND}|tr " " "\n"|grep -v .classPK
fi
done
done
exit 0
发表评论
-
再谈DOS批处理下格式化日期字符串的方法(详解)
2012-03-31 19:46 1729谈到日期字符串的输出 ... -
How to use "for/" batch command in Dos extention
2012-03-07 08:25 1364以前常觉得DOS的 命令行功能太弱,无法象UNIX一样可以用命 ... -
常用的数据库连接串(JDBC篇)
2011-12-23 06:58 0看到网上传来传去的jdbc url连接串总结,好多都是粘来粘去 ... -
也谈谈网上注册用户的密码设置问题
2011-12-22 11:16 1745看到首页上的" 关于 ... -
DBCP连接池的最简单应用(用于ORACLE数据库)
2011-11-19 05:54 4389鉴于有人问起DBCP直接用于JDBC连接的问题,我做了一个最简 ... -
7zip命令行用法
2011-10-14 10:54 37477zip功能很强大,你只要两个文件: 7z.exe以及7z.d ... -
格式化DOS下时间输出
2011-09-29 09:16 1552dos下由于时间格式不同,使用的echo时间的形式也可能不同, ... -
windows下的mapped driver及其真实路径
2011-09-13 15:55 785由于经常使用windows下自带的subst命令,把一个长路径 ... -
eclipse3.4及以上版本的恢复
2011-08-28 04:58 2288eclipse 3.4以前的版本,如果出现什么问题了,一般都 ... -
推荐几个常用软件及相关介绍的网站
2011-08-23 14:50 733一个是:善用佳软。(http://xbeta.info) 常有 ... -
Macfee实在是太烂了
2011-08-17 17:54 1019Macfee有个FrameworkService.exe进程, ... -
Windows下的Console和RemoteDesktop
2011-08-16 09:19 1161老式的cmd window,实在是很丑很不方便。尤其是打开多个 ... -
添加系统环境变量
2011-08-15 16:00 9611. 注册表直接修改 reg add "hklm\ ... -
日常工作Windows下使用的一些软件工具
2011-04-10 21:21 882如果有正版的东西使用,当然不用那么费力去找免费的替代品了。 ... -
使用Java实现对dbf文件的简单读写
2004-06-09 17:13 942我将dbf文件的读写基本分成四个类,Writer,Reader ... -
简单的整理了一下分页,希望对初学者有帮助
2004-06-23 17:37 693准备工作:在Oracle下,建立一张表:CREATE TABL ... -
编写更快的托管代码[http://blog.csdn.net/zade/category/162553.aspx]
2005-12-14 11:14 948编写更快的托管代 ... -
数据访问技术路线图[摘自MSDN]
2005-12-15 19:04 772数据访问技术路线图 发布日期: 3/22/2005 | 更新 ... -
Jad - the latest version
2006-09-11 12:35 2275转自:http://www.kpdus.com/jad.htm ... -
java 去掉字符串中的'\'字符
2006-11-03 20:00 1052最近发现比较简单的去掉'\'字符居然不能直接用'\'去替。 ...
相关推荐
安装此插件,可快速定位到class文件。安装此插件,可快速定位到class文件。安装此插件,可快速定位到class文件。再也不用一层层目录去找了。
1.列出指定路径下的所有Jar包文件 2.搜索分析指定路径下所有jar包中是否存在指定文件。譬方说要在jar包中查询目个**.class文件。用户可以不用打开Jar包,直接输入路径和要查找的文件即可搜索。 3.除了对Jar包进行...
Eclipse中查看class源码的插件,jar包反编译查看工具,两种方式查看jar包对应的源代码。亲测可用
在编写完自己的程序以后,可以利用此方式提供给其他应用程序,安全
修改jar包中的class文件文中用到的源码
不用开发工具,在命令行下把自己相关的class文件打包成一个jar文件,然后用Java -jar来运行。
功能讲解: 1.搜索分析指定路径下所有jar包中是否存在指定文件。譬方说要在jar包中查询某个**.class文件。用户可以不用打开Jar包,直接输入路径和要查找的文件即可搜索。...7.快速找出Class文件所在的Jar文件
发布JAVA应用程序(将CLASS文件打包成.jar文件) 将一个CLASS文件打包成一个.jar文件分为以下几个步骤方法
jar包、class文件读取工具,java编译后的文件读取
jclasslib修改jar包里面的class文件包含jar
详细介绍了,如何将class文件打包成jar文件
如何将.class文件打成jar包
在java编程中,我们经常遇到找到类的东西,这个工具可以在指定搜索的文件夹下的所有jar包里查找是否有class文件
eclips插件,用于查找某个class所在的jar包
oracle驱动包,class14.jar
在使用jclasslib进行class内容修改的使用,用到jclasslib总是找不到jclasslib.jar包在哪,这就是你要找的,直接导入项目即可,亲测可用。
从选定的目录里面,查找出所有包含所指定的Java Class类的Jar包。 -------------------------------------------------------------------------- 使用方法: 1、请首先输入需要查找的Java Class类,需要输入完整的...
jad反编译工具,可以直接把class文件放进去,也可以把jar包放在jad里面
java反编译项目工程,可以将class 文件 进行 修改 重新导包 生成修改后的jar 步骤 1、将需要修改的 jar 包 放入 lib 目录下,并加入项目中 ,选中 jar 右击 选择 add a libray这个时候会看到 jar 的 目录 结构 2、...
遇到jar包冲突时,需要找某个class文件在哪几个jar包中,可以用这个工具进行查找,很快速方便的