我的工作区以及 jar 文件中也有相同的类文件(我已导入)我如何知道在运行时调用了哪个文件?
我很困惑,因为在 Eclipse 中,当我在实例上按下 Open Declaration 时,它会显示 jar 版本。当我将一些系统输出保存到本地副本时,它们被调用了??
请告诉我如何知道正在调用什么文件??
我在谈论这些代码:
Props.getProperty(clientID + ".MetaPI", true);
这个 Props 类既存在于 jar 中,也存在于本地副本中。
我的工作区以及 jar 文件中也有相同的类文件(我已导入)我如何知道在运行时调用了哪个文件?
我很困惑,因为在 Eclipse 中,当我在实例上按下 Open Declaration 时,它会显示 jar 版本。当我将一些系统输出保存到本地副本时,它们被调用了??
请告诉我如何知道正在调用什么文件??
我在谈论这些代码:
Props.getProperty(clientID + ".MetaPI", true);
这个 Props 类既存在于 jar 中,也存在于本地副本中。
应该调用类路径上的第一个内容,在理想情况下,应该是类文件夹,因此是类文件。
尝试这样的事情:
System.out.println(this.getClass().getProtectionDomain().getCodeSource().getLocation().toURI().getPath());
This probably might help:
this.getClass().getProtectionDomain().getCodeSource().getLocation();
您可以使用 java -verbose 启动您的应用程序。这记录了类加载器加载了哪些类