Perché una build del prodotto Eclipse RCP non riesce a trovare le classi in org.eclipse.ui durante la generazione senza testa?

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

  •  18-09-2019
  •  | 
  •  

Domanda

Ho una definizione di prodotto che include una caratteristica che ho scritto e l'org.eclipse.feature. Quando costruisco questo prodotto da Eclipse, si completa con successo. Tuttavia, quando cerco di usare la build senza testa, il processo di compilazione non riesce come si lamenta che non riesce a trovare le classi incluse nel org.eclipse.ui. Una di queste classi, per esempio, è PlatformUI. Il processo di generazione non riesce in tal modo.

Ho controllato ed l'org.eclipse.ui è incluso nel plug-in org.eclipse.ui. Ho anche cercato di includere questo plugin esplicitamente nella mia funzione personalizzata, ma senza alcun risultato.

Ho anche provato a rimuovere uno di questi plugin con problemi, ma il prossimo quello utilizzato org.eclipse.ui fallito. Così sembra essere definitivamente un problema di percorso di classe di alcuni sowrt.

Ho provato questa build senza testa utilizzando la versione 3.3.2 di Eclipse.

È stato utile?

Soluzione

La classe org.eclipse.ui.PlatformUI è il plug-in org.eclipse.ui.workbench.

org.eclipse.ui.workbench è richiesto e ri-esportato da org.eclipse.ui. Il pacchetto "org.eclipse.ui" è una href="http://eclipsesource.com/blogs/2008/08/22/tip-split-packages-and-visibility/" rel="nofollow noreferrer"> pacchetto suddiviso .

Se si utilizza Import-Package per questa dipendenza, allora si sta ottenendo soltanto cablata per uno dei fornitori del pacchetto. Se hai bisogno solo delle classi dalla ui.workbench, allora si può aggiungere un attributo alla vostra dichiarazione Import-Package:

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

In alternativa, si può solo passare alla Require-Bundle

Altri suggerimenti

Hai controllato il file build.properties?

In particolare la archivesFormat sezione

  

La proprietà archivesFormat consente di specificare il formato di uscita (zip, tar, e la cartella) della costruzione su una base di configurazione.
  Il formato della proprietà è <configuration> - <format>, dove la configurazione è lo stesso valore di quello specificato nella proprietà configs.

se specifica linux,gtk,x86-folder mentre si sta cercando di costruire con un'installazione win32, non funzionerà.

Purtroppo Eclipse mostra un comportamento diverso tra l'esportazione di un prodotto nella GUI e farlo senza testa. Essi non sono proprio la stessa cosa.

Un problema che ho trovato in passato è che avevo bisogno di delta pacchetto installata per la generazione senza testa di lavorare, anche se stavo facendo la costruzione sulla stessa architettura ero targeting (win32). Esportare il prodotto dalla GUI avrebbe funzionato senza il pacchetto delta -! Doh

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top