【问题标题】:How can we know if class of jar version or the local copy is being called at runtime我们如何知道在运行时是否正在调用 jar 版本或本地副本的类
【发布时间】:2011-12-06 08:36:30
【问题描述】:

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

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

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

我说的是这些代码:

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

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

【问题讨论】:

    标签: java eclipse web-application-project


    【解决方案1】:

    应该调用类路径中首先出现的内容,理想情况下应该是类文件夹,因此是类文件。

    【讨论】:

      【解决方案2】:

      试试这样的:

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          【解决方案4】:

          这可能会有所帮助:

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

          【讨论】:

          • @astrograph,很抱歉发布了相同的答案。可能忘记刷新页面了……
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-03-09
          • 2023-03-03
          • 1970-01-01
          • 2010-11-29
          • 2015-05-22
          • 1970-01-01
          相关资源
          最近更新 更多