java – 如何知道给定jar文件使用哪个类/包/方法?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 如何知道给定jar文件使用哪个类/包/方法?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1271字,纯文字阅读大概需要2分钟。
内容图文
我有一个jar文件.我想知道JAR文件中的类使用了哪些外部类和方法.谁能建议我任何工具?
例如 – 如果以下两个类被打包到Myjar.jar中
import java.util.Vector;
class MyJarClass{
public static void main(String args[]){
Vector v = new Vector();
AnotherClass another = new AnotherClass();
v.addElement("one");
another.doSomething();
}
}
class AnotherClass{
void doSomething(){
}
}
当我将JAR提供给工具时 – 该工具应显示java.util.Vector,Vector.adElements()来自外部源(MyJar.jar中不存在)
忘了提,我没有访问源代码.
最佳答案:
简单
import com.example.*;
可能
List<com.example.MyType> = new ArrayList<com.example.MyType>();
一个挑战
Class<?> clazz = Class.forName("com.example.MyType");
不可能完成的任务
List<String> classes = getClassNamesFromUrl("http://example.com/classes.txt");
for (String className:classes) {
doSomethingWith(Class.forName(className));
}
我支持Jon的建议来查看字节代码(BCEL),但是请注意,通常不可能从jar中读取所有依赖项,因为它们可以是动态的并在库外定义(请参阅:不可能完成任务).
很难说是否有工具,请查看java-source.net上的那些目录:
> Open Source ByteCode Libraries in Java
> Open Source Code Analyzers in Java(也有一些应用程序可以在罐子上工作,比如JDepend.JarAnalyzer听起来很有希望,但它已经很老了,2005年的最新更新)
进一步阅读
> How can I visualize jar (not plugin) dependencies?(特别是VonC’s answer)
内容总结
以上是互联网集市为您收集整理的java – 如何知道给定jar文件使用哪个类/包/方法?全部内容,希望文章能够帮你解决java – 如何知道给定jar文件使用哪个类/包/方法?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。