Eclipse有一个带有Classpath选项卡的Run Configurations屏幕。
我在此选项卡的“用户条目”部分列出了一些jar,但是在我将这些jar文件复制到“bootstrap条目”部分之前,我的项目没有运行。在两个部分中列出了罐子后,项目成功运行。
为什么呢?
这两种不同类别的Classpath设置有什么区别?
答案 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,另一个用于运行时环境。
我想。
到底是怎么回事,无论如何我今天最大化了。