jay*_*100 10 java eclipse ant classpath ivy
我正在尝试理解Eclipse类路径文件,特别是,我想知道这个:
JRE如何使用它(即JVM是直接读取这个xml文件,还是eclipse以某种方式将其提供给它的内部编译器)?
当我从IDE运行我的类时,如何解析复杂条目(如下面的常春藤路径)并将其合并到JVM ClassLoader中?
上下文:我有一个奇怪的错误,就是eclipse正在使用类的"错误"版本,而我的ivy/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>
Run Code Online (Sandbox Code Playgroud)
Gui*_*let 10
两件事:
1)项目类路径用于使用Eclipse Java编译器(ejc)编译代码,因此文件信息将传递给EJC.
2)创建启动配置时,实际上是在声明运行应用程序的类路径,默认情况下,它基于项目类路径.此类路径作为参数传递给JVM,就像您手动执行一样(java -cp $ {classpathentries} yourmainclass).如果要查找启动配置的类路径,请在调试模式下启动app/classes,然后在Debug视图中选择您的进程并单击Properties,您将看到完整的类路径(所有jar /作为参数传递给JVM的目录)
NB:我看不到你的常春藤路径.
| 归档时间: |
|
| 查看次数: |
18286 次 |
| 最近记录: |