java文件包打开哪一个_java – 如何知道给定jar文件使用哪个类/包/方法?

我有一个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 = new ArrayList();

一个挑战

Class> clazz = Class.forName("com.example.MyType");

不可能完成的任务

List classes = getClassNamesFromUrl("http://example.com/classes.txt");

for (String className:classes) {

doSomethingWith(Class.forName(className));

}

我支持Jon的建议来查看字节代码(BCEL),但是请注意,通常不可能从jar中读取所有依赖项,因为它们可以是动态的并在库外定义(请参阅:不可能完成任务).

很难说是否有工具,请查看java-source.net上的那些目录:

进一步阅读

标签:java,jvm,jar,java-me

来源: https://codeday.me/bug/20190515/1110712.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值