Axis webservice 中的源 jar 从哪里加载?

From where does the source jar load in Axis webservice?

所以我在 aar 文件中有这个基于 axis2 的 web 服务,我用 ant 自己构建了它。当我构建它时,我指定了 jar 文件的位置。特别是 "rt.jar",我将它放在我的 lib 文件夹中,并使用 javac 构建我的 classes。当我从我的 lib 文件夹中删除 rt.jar 时,javac 没有构建,所以我知道使用了 jar 文件。

问题是当我调试我的 web 服务并尝试了解我的 WSBindingProvider class 从使用下面的代码加载的位置时,它说是从 c:/program files/java/jre1.8/ 加载。 .. 甚至认为我在项目中的任何地方都不使用 jre(不是 jdk)库。

谁能解释一下在构建 class 文件中使用某些 class 时它是如何工作的? Axis 是否以某种方式从 jre 获取它?或者 tomcat?

Class klass = WSBindingProvider.class;
URL location = klass.getResource('/' + klass.getName().replace('.', '/') + ".class");

来自 rt.jar 的 classes 总是被 JRE 和 javac 使用。如果您的代码只有在将 rt.jar 添加到 class 路径时才能编译,那么这意味着所讨论的 rt.jar 来自与 javac.[=14 不同的 Java 版本=]