Eclipse IDE:如何知道 类 在运行时加载的确切 jar 文件?

Eclipse IDE : How to know exact jar file for classes loaded at runtime?

我有 Jboss 容器中 运行 的 Web 应用程序。 有时我需要调试代码,为此我需要知道当前 class 是从哪个 jar 引用的(以便我可以搜索相应 jar 的源 jar)

是否可以从中获取引用当前 class 的 Jar 信息(jar 文件的名称)。请参阅随附的屏幕截图 - 我试图从中获取此 jar 文件信息。不知道我的做法对还是错

Compile time classpath 设置不同于 Runtime server classpath 设置。

因此,如果您想知道在 eclipse 中编译时包含特定 class 的所有 locations/jars,请使用 Ctrl+T 并键入 class 名称。如果有多个 jar 个文件具有相同的 class/namespace,那么顺序将在 Build Path settings --> Order and Export.

中定义

运行时参考取决于 class 服务器配置的加载策略。但通常首先是从本地项目引用,然后是清单,然后是公共 class 路径库。

如果您的服务器配置为引用项目的 workspace 位置,那么顺序很可能与您在 .classpath 文件中定义的一样,您可以使用 Ctrl+T找出来。

编辑

您似乎希望eclipse自动解析源文件。如果您使用 maven,那么下面的 运行 命令会刷新所有 jar 文件的 sourcejavadoc

mvn dependency:sources
mvn dependency:resolve -Dclassifier=javadoc

Eclipse 允许您在调试期间更改代码。

因此,如果您想输入 class 并知道此 class 的 jar 源是什么,只需按 CTRL + 鼠标右键单击 class 名称即可在class里面输入。

如果您在 Package Explorer 中选择了 "Link with Editor" 选项,您可以自动看到您正在导入的 jar 文件是什么。