Eclipse中的CLASSPATH“引导程序条目”和“用户条目”之间有什么区别?

时间:2009-04-19 02:44:22

标签: eclipse twitter-bootstrap jar runtime classpath

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

我在此选项卡的“用户条目”部分列出了一些jar,但是在我将这些jar文件复制到“bootstrap条目”部分之前,我的项目没有运行。在两个部分中列出了罐子后,项目成功运行。

为什么呢?

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

3 个答案:

答案 0 :(得分:7)

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

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

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

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

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

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

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

- 斯科特

答案 1 :(得分:3)

您是否可以生成jar文件以两种方式提取它们并进行比较。如果在添加条目时jar文件发生了变化,我非常好奇。有关class loading的一些信息可能会提供一些见解。 specification for jar files并没有真正提供任何提示。

答案 2 :(得分:2)

其中一个用于检查编辑器中的sources / classpath,另一个用于运行时环境。

我想。

到底是怎么回事,无论如何我今天最大化了。