Pourquoi une version du produit Eclipse RCP ne peut pas trouver des cours de org.eclipse.ui lors de la construction sans tête?

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

  •  18-09-2019
  •  | 
  •  

Question

J'ai une définition de produit qui comprend une caractéristique que j'ai écrit et le org.eclipse.feature. Quand je construis ce produit de l'éclipse, il se termine avec succès. Cependant, lorsque je tente d'utiliser la construction Headless, le processus de compilation échoue car il se plaint qu'il ne peut pas trouver des cours inclus dans org.eclipse.ui. L'une de ces classes, par exemple, est PlatformUI. Le processus de construction échoue donc.

Je l'ai vérifié et org.eclipse.ui est inclus dans le plug-in org.eclipse.ui. J'ai aussi essayé d'inclure ce plugin explicitement dans ma fonction personnalisée, mais en vain.

J'ai aussi essayé d'enlever un de ces plug-ins avec des problèmes, mais la prochaine celle utilisée org.eclipse.ui a échoué. Il semble donc être définitivement un problème classpath de certains sowrt.

J'ai essayé cette version sans tête en utilisant la version 3.3.2 d'Eclipse.

Était-ce utile?

La solution

La classe org.eclipse.ui.PlatformUI se trouve dans le plug-in org.eclipse.ui.workbench.

org.eclipse.ui.workbench est nécessaire et réexporté par org.eclipse.ui. Le package "org.eclipse.ui" est un paquet split .

Si vous utilisez Import-Package pour cette dépendance, alors vous obtenez seulement câblé à l'un des fournisseurs de l'emballage. Si vous avez seulement besoin des classes de la ui.workbench, vous pouvez ajouter un attribut à votre déclaration Import-Package:

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

Ou, vous pouvez simplement changer à Require-Bundle

Autres conseils

Avez-vous vérifié votre fichier build.properties?

Plus précisément archivesFormat section

  

La propriété archivesFormat permet de spécifier le format de sortie (zip, tar, et le dossier) de la construction sur une base de configuration.
  Le format de la propriété est <configuration> - <format>, où la configuration est la même valeur que celle spécifiée dans la propriété configs.

si elle spécifie linux,gtk,x86-folder pendant que vous essayez de construire une installation de win32, il ne fonctionnera pas.

Malheureusement, Eclipse montre un comportement différent entre l'exportation d'un produit dans l'interface graphique et de le faire sans tête. Ils ne sont pas tout à fait la même chose.

Un problème que je l'ai trouvé dans le passé est que je avais besoin du paquet delta installé pour la construction sans tête à travailler, même si je faisais la construction sur la même architecture que je ciblage (win32). Exportation du produit de l'interface graphique fonctionnerait sans le pack delta - doh

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top