我想了解Eclipse的类路径的文件,特别是,我想知道这一点:了解Eclipse的类路径声明
是怎样的JRE使用它(即是JVM阅读本xml文件直接,或者是eclipse以某种方式将其馈入其内部编译器)?
当我从我的IDE运行我的类时,如何将复杂条目(如下面的Ivy路径)解析并合并到JVM ClassLoader中?
语境:我有一个奇怪的错误,这是Eclipse是使用一类的“错误”的版本,而我的常春藤/ Ant构建使用的是正确的版本,因此我想工具Eclipse来更好模仿我纯粹构建中使用的类加载器。为了做到这一点,我想我将不得不看看Eclipse项目/类路径文件。
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="test"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="conf"/>
<classpathentry kind="con" path="org.apache.ivyde.eclipse.cpcontainer.IVYDE_CONTAINER/?ivyXmlPath=ivy.xml&confs=*"/>
<classpathentry kind="output" path="build"/>
</classpath>
我不相信JVM知道有关Eclipse类路径文件的任何信息。你可以用一个只打印出System.getProperty(“java.class.path”)的主模块敲出一个测试类,它会告诉你所有的复杂引用都被解析为磁盘上的jar文件位置,它们是然后馈入一个正常的JRE类路径。如果你对常青藤的东西有一个模糊的错误,那么你可能想和常青藤Eclipse插件的开发者一起提出它?祝你好运,解决您的问题 – davidfrancis 2012-02-14 12:08:28