我们怎么知道是否在运行时调用了jar版本或本地副本

时间:2011-12-06 08:36:30

标签: java eclipse web-application-project

我的工作区和jar文件中都有相同的类文件(我已经导入了) 我怎么知道在运行时调用哪个文件?

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

请告诉我怎样才能知道正在调用哪个文件?

我在谈论这些代码:

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

此Props类同时存在于jar和本地副本中。

4 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

尝试这样的事情:

System.out.println(this.getClass().getProtectionDomain().getCodeSource().getLocation().toURI().getPath());

答案 2 :(得分:0)

您可以使用java -verbose启动应用程序。这会记录由类加载器

加载的类

答案 3 :(得分:0)

这可能会有所帮助:

this.getClass().getProtectionDomain().getCodeSource().getLocation();