Ich habe ein Plug-in-Fragment, das eine JAR-Datei zum Host-Plug-in nach these instructions. Er erstellt eine Datei library.jar
, die in build.properties
angegeben ist und einem Verzeichnis zugeordnet ist, das die zu erstellende Quelle enthält.Eclipse-RCP-Fragment Erstellen von library.jar
Es funktioniert alles wie erwartet, außer ich kann nicht herausfinden, wie zu verursachen library.jar
in Eclipse erstellt werden. Wenn ich einen Maven-Build ausführe, der auf mein Fragmentprojekt verweist und es als Modul enthält, wird die Datei library.jar
im Projektverzeichnis angezeigt. Das Erstellen oder Bereinigen des Projekts in Eclipse erstellt die Datei jedoch nicht.
Ich möchte andere Entwickler in der Lage sein, library.jar
in ihrem Eclipse-Arbeitsbereich zu generieren, ohne den Maven-Build auszuführen. Ich bin wirklich überrascht, dass der Maven-Build libary.jar
im Plug-in-Projekt selbst erzeugt und nicht nur in dem Produkt, das im Build-Ziel erstellt wurde. Es sollte einen Weg geben, Eclipse dazu zu bringen, dies zu tun, ohne den Maven-Build auszuführen.
EDIT:
build.properties:
bin.includes = META-INF/,\
library.jar
source.library.jar = src/
MANIFEST.MF:
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Custom
Bundle-SymbolicName: org.python.pydev.custom
Bundle-Version: 1.0.0.qualifier
Fragment-Host: org.python.pydev;bundle-version="5.1.2"
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Eclipse-PatchFragment: true
Bundle-ClassPath: library.jar,
.
Require-Bundle: org.python.pydev.debug;bundle-version="5.5.0",
org.eclipse.cdt.debug.core;bundle-version="8.0.0",
org.apache.log4j
Danke, aber das ist genau das, was ich in build.properties haben. Es gibt eine Warnung für die Klasse. Enthält einen Eintrag, der besagt: Die Klassenpfadbibliothek des Plug-ins '.' hat keinen entsprechenden Source-Build-Eintrag. Ist das ein Ablenkungsmanöver? Mein .classpath ist identisch mit anderen Projekten konfiguriert, wo diese Warnung nicht angezeigt wird. Ist es anders, weil es ein Fragment ist? Ich folgte den Anweisungen hier (http://blog.ankursharma.org/2009/11/source-and-output.html) ohne Erfolg. – MidnightJava
Ich habe auch viele Dinge in build.properties versucht, zum Beispiel "output.library.jar =.". Dann klagt es:/ist kein Ausgabeordner. Aber ich dachte, ich würde es sagen, um das zu einem Ausgabeordner zu machen. – MidnightJava
Sie müssen wahrscheinlich den Bundle-Classpath korrekt in der MANIFEST.MF festlegen - siehe aktualisierte Antwort –