1

我的工作区以及 jar 文件中也有相同的类文件(我已导入)我如何知道在运行时调用了哪个文件?

我很困惑,因为在 Eclipse 中,当我在实例上按下 Open Declaration 时,它会显示 jar 版本。当我将一些系统输出保存到本地副本时,它们被调用了??

请告诉我如何知道正在调用什么文件??

我在谈论这些代码:

Props.getProperty(clientID + ".MetaPI", true);

这个 Props 类既存在于 jar 中,也存在于本地副本中。

4

4 回答 4

1

应该调用类路径上的第一个内容,在理想情况下,应该是类文件夹,因此是类文件。

于 2011-12-06T08:45:03.567 回答
1

尝试这样的事情:

System.out.println(this.getClass().getProtectionDomain().getCodeSource().getLocation().toURI().getPath());
于 2011-12-06T08:51:44.473 回答
0

This probably might help:

this.getClass().getProtectionDomain().getCodeSource().getLocation();
于 2011-12-06T09:59:55.607 回答
0

您可以使用 java -verbose 启动您的应用程序。这记录了类加载器加载了哪些类

于 2011-12-06T09:24:32.217 回答