Próbuję zrozumieć plik classpath Eclipse, w szczególności, chcę o tym wiedzieć:Zrozumienie deklaracji classpath Eclipse
Jak jest JRE używając go (tzn jest JVM przeczytaniu tego pliku xml bezpośrednio, czy też zaćmienie zasila go w swój wewnętrzny kompilator)?
W jaki sposób złożone wpisy (jak na poniższej ścieżce do bluszczu) są analizowane i włączane do klasy JVM ClassLoader po uruchomieniu zajęć z mojego IDE?
Kontekst: Mam dziwny problem, który jest, że Eclipse jest za pomocą „złą” wersję klasy, podczas gdy mój bluszcz/ant build używa poprawnej wersji, a ja w ten sposób chcą narzędzia Eclipse lepiej naśladować program ładujący klasy użyty w mojej czystej kompilacji. Aby to zrobić, myślę, że będę musiał spojrzeć na pliki projektu Eclipse/classpath.
<?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>
Nie wierzę, że JVM wie cokolwiek o pliku klasy classpath Eclipse. Możesz wybić klasę testową z głównym blokiem, który właśnie wypisuje System.getProperty ("java.class.path") - które pokaże, że wszystkie twoje złożone referencje są po prostu rozwiązane, aby zlokalizować pliki plików na dysku, które są następnie wprowadzane do normalnej ścieżki klas JRE. Jeśli masz jakiś niejasny błąd związany z tematem Ivy, to możesz chcieć go zgłosić u deweloperów wtyczki Ivy Eclipse? Powodzenia w rozwiązaniu problemu – davidfrancis