che sto cercando di capire il file di percorso di classe Eclipse, in particolare, voglio sapere questo:Comprendere le dichiarazioni classpath Eclipse
Come è il JRE usarlo (cioè è la JVM leggendo questo file XML direttamente, o eclipse lo alimenta in qualche modo nel suo compilatore interno)?
In che modo le voci complesse (come il percorso dell'edera in basso) sono state analizzate e incorporate in JVM ClassLoader quando eseguo le mie lezioni dal mio IDE?
Contesto: Ho uno strano bug che è che Eclipse sta usando la versione "sbagliata" di una classe, mentre la mia edera/build formica sta usando la versione corretta, e quindi voglio Eclipse strumento per meglio imita il classloader usato nella mia pura build. Per fare questo, penso che dovrò esaminare i file di progetto/classpath di 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>
Non credo che la JVM sappia nulla sul file del percorso di classe Eclipse. Puoi abbattere una classe di test con un blocco principale che stampa semplicemente System.getProperty ("java.class.path") - questo ti mostrerà che tutti i tuoi riferimenti complessi sono solo risolti in percorsi di file jar sul disco, che sono quindi inserito in un normale percorso di classe JRE. Se hai un bug oscuro con la roba di Ivy, allora potresti volerlo sollevare con gli sviluppatori del plugin Ivy Eclipse? Buona fortuna per risolvere il problema – davidfrancis