15

Eclipse 有一个带有 Classpath 选项卡的 Run Configurations 屏幕。

我在此选项卡的“用户条目”部分中列出了一些 jar,但直到我将这些 jar 文件复制到“引导条目”部分中,我的项目才运行。在这两个部分中列出了 jar 之后,该项目成功运行。

为什么?

这两种不同类别的 Classpath 设置有什么区别?

4

3 回答 3

8

不同之处在于它们在类加载器中的规范顺序。

启动将执行应用程序的 VM 时,引导类路径由顶级类加载器管理。(从命令行使用 -Xbootclasspath 指定)

用户类路径是由应用程序类加载器管理的条目。

引导类路径中的任何条目都优先于用户类路径。

这些是基于包含要启动的应用程序的项目进行初始化的,但是您可以在启动器配置中修改它们,以便您想要在 Eclipse 中启动的应用程序。

至于为什么它不起作用:罐子是什么?它们是需要从运行时类加载的东西吗(比如 xml 解析器替换库?)

有关详细信息,请参阅http://java.sun.com/j2se/1.4.2/docs/tooldocs/findingclasses.html 。

——斯科特

于 2009-04-20T16:39:24.980 回答
3

你能以两种方式生成jar文件吗?提取它们并比较它们。我非常好奇当您添加条目时 jar 文件是否发生了变化。有关类加载的一些信息可能会提供一些见解。jar 文件的规范并没有真正提供任何提示。

于 2009-04-19T03:43:30.423 回答
2

其中一个用于检查编辑器中的源/类路径,另一个用于运行时环境。

我认为。

什么鬼,反正我今天已经满分了。

于 2009-04-19T03:13:57.357 回答