Wie liest man alle JARs von Eclipse classpathentry wo art="con"

9

Ich habe eine .classpath-Datei eines Projekts, die alle Classpath-Einträge enthält. Jetzt hat es folgenden Eintrag -

%Vor%

Nun möchte ich anhand dieses Eintrags alle jars, die dieser Bibliothek zugeordnet sind, mittels Java-Code programmatisch finden? Gibt es eine Möglichkeit, alle Gläser zu lesen?

    
Disha 21.12.2016, 13:09
quelle

2 Antworten

2

"con" ist ein container wie JRE und mit dem übergeordneten Klassenlader in Ihrer Anwendung verknüpft ist. Dieser Container hat einen eigenen Klassenpfad definiert und kann in Runtime gelesen werden:

%Vor%     
Dominik Kunicki 01.01.2017 16:02
quelle
2

Im Folgenden wurde untersucht, wie Eclipse JEE Kepler beim Lesen von Quellcode, der im Sommer 2016 ausgecheckt wurde, und beim Debuggen von Eclipse beim Start ausgeführt wurde.

In Ihrem Arbeitsbereich-Stammordner befindet sich eine Datei .metadata.plugins \ org.eclipse.jdt.core \ variablesAndContainers.dat. Diese Datei wird von JavaModelManager aus der Methode loadVariablesAndContainers gelesen.

Hier ist die Quelle von JavaModelManager Ссылка

Innerhalb von variablesAndContainers.dat glaube ich, dass es für jedes Projekt einen Eintrag gibt und jedes Projekt einen Container hat. Sie können den Containernamen als String in der Datei sehen.

Der Fluss geht weiter JavaModelManager $ VariablenAndContainersLoadHelper.loadContainers (IJavaProject)

Von hier liest die Datei eine Anzahl der Klassenpfad-Einträge. Für jeden Eintrag liest er dann den Container mit der Methode VariablenAndContainersLoadHelper.loadClasspathEntry. Dies erstellt ein Array von Klassenpfadeinträgen, die den Java-Container darstellen. Dies wird im Speicher als JavaModelManager.PersistedClasspathContainer gespeichert.

Dies ist, was Sie suchen, wenn Sie eine eigenständige Anwendung erstellen. Untersuchen Sie beim Erstellen eines Eclipse-Plugins das Verhalten von JavaModelManager.getClasspathContainer.

Sie müssen den Code studieren und möglicherweise viele Eclipse-Startups debuggen, um das ganze Format der Datei herauszufinden.

    
ProgrammersBlock 04.01.2017 03:57
quelle

Tags und Links