Warum kann ein Eclipse RCP Füllgutansatz keine Klassen in org.eclipse.ui während kopflos Build finden?

StackOverflow https://stackoverflow.com/questions/1286738

  •  18-09-2019
  •  | 
  •  

Frage

Ich habe eine Produktdefinition, die eine Funktion enthält Ich schrieb und den org.eclipse.feature. Als ich dieses Produkt von Eclipse bauen, schließt es erfolgreich. Allerdings, wenn ich versuchen, den Headless Build zu verwenden, schlägt der Übersetzungsvorgang, wie es beklagt, dass es nicht im Preis enthalten Klassen in org.eclipse.ui finden. Eine dieser Klassen, zum Beispiel, ist PlatformUI. Der Build-Prozess somit versagt.

Ich habe überprüft und die org.eclipse.ui ist im org.eclipse.ui Plugin enthalten. Ich habe auch schließen dieses Plugin explizit in meiner benutzerdefinierten Funktion versucht, aber ohne Erfolg.

Ich habe auch eine dieser Plugins mit Problemen versucht zu entfernen, aber die nächste, die verwendet org.eclipse.ui fehlgeschlagen. So scheint es definitiv ein Classpath Problem einiger sowrt zu sein.

Ich habe diese ohne Kopf Build versucht, mit Version 3.3.2 von Eclipse.

War es hilfreich?

Lösung

Die org.eclipse.ui.PlatformUI Klasse ist in der org.eclipse.ui.workbench Plug-in.

org.eclipse.ui.workbench erforderlich ist und wieder ausgeführt durch org.eclipse.ui. Die "org.eclipse.ui" -Paket ist ein Split-Paket .

Wenn Sie sich für diese Abhängigkeit Import-Package verwenden, dann sind Sie nur zu einem der Anbieter des Pakets verdrahtet zu werden. Wenn Sie nur die Klassen aus dem ui.workbench benötigen, dann können Sie ein Attribut zu Ihrer Import-Package-Anweisung hinzufügen:

Import-Package:org.eclipse.ui;ui.workbench=split

Oder Sie könnten nur Require-Bundle ändern

Andere Tipps

Haben Sie überprüfen Sie Ihre build.properties Datei?

Insbesondere die archivesFormat Abschnitt

  

Die archivesFormat Eigenschaft ermöglicht eine Konfiguration Basis des Ausgabeformats (zip, tar und Ordner) des Build angibt.
  Das Format der Eigenschaft ist <configuration> - <format>, wo Konfiguration der gleiche Wert als die in der configs Eigenschaft angegeben ist.

Wenn es gibt linux,gtk,x86-folder, während Sie mit einer win32 Installation versuchen zu bauen, wird es nicht funktionieren.

Leider zeigt Eclipse-unterschiedliches Verhalten zwischen einem Produkt in der GUI exportieren und ohne Kopf zu tun. Sie sind nicht ganz gleich.

Ein Problem, das ich in der Vergangenheit gefunden habe, ist, dass ich brauchte das Delta Pack für die Maden Build installiert zu arbeiten, auch wenn ich den Build auf der gleichen Architektur tat ich Targeting (win32). das Produkt aus dem GUI exportieren, ohne das Delta Pack funktionieren würde - Doh

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top