2012-12-11 9 views
15

Ho un problema relativo alle definizioni di destinazione in Eclipse. Voglio usare la versione 1.0.0 del plugin, che è nella mia definizione della piattaforma di destinazione, mentre ho il progetto plugin nel mio spazio di lavoro con la versione 1.0.2. Per tutti gli altri plugin nella mia definizione di destinazione, tutto funziona come previsto (che vedo perché un errore viene contrassegnato se manca qualcosa), ma questo specifico, Eclipse non rende disponibile per i miei progetti. È solo la versione del plugin 1.0.2. Il plugin non è impostato come singleton.Perché non posso accedere a tutti i plug-in nella mia definizione di destinazione?

Perché è questo e come posso risolvere questo problema?


ho capito che posso accedere alla versione destra quando chiudo il progetto che contiene quella sbagliata - ma questo è scomodo, c'è un altro modo?


Sembra che in realtà non è un problema specifico-eclisse, fallisce anche quando si costruisce sulla riga di comando attraverso Maven/Tycho. Nello specifico, la mia piattaforma di destinazione è Juno Release. Ci sono plugin che, se parte di una funzione, non sono resi disponibili per altri bundle? So che il plugin è lì, ma né Tycho né Eclipse vogliono renderlo disponibile.

Forse dovrei anche dire che fallisce al momento della compilazione.


Mentre, come ho già detto, esistono soluzioni alternative per il problema, ho ancora piacerebbe avere una soluzione "bella" a questo problema. È possibile controllare il progetto insieme con la definizione degli obiettivi a https://github.com/kutschkem/Jayes

Potrebbe anche essere necessario per verificare e costruire questo progetto prima: git clone http://git.eclipse.org/gitroot/recommenders/org.eclipse.recommenders.git

Dopo aver impostato la piattaforma di destinazione, provare a costruire qualcosa con Jayes 1.0 .0 (che si trova nella piattaforma di destinazione) invece di Jayes 1.0.2 (che si trova nell'area di lavoro). Puoi anche provare a creare con Maven, ma non funziona altrettanto bene.

soluzioni note:

  1. chiudere il progetto Jayes 1.0.2. Quindi, eclipse ti consente di utilizzare Jayes 1.0.0
  2. Per eseguire un'applicazione (OSGi), puoi scegliere quali pacchetti vengono caricati. È possibile scegliere la versione 1.0.0 manualmente ci
  3. Usando una definizione del prodotto, è possibile accedere alla stessa configurazione di runtime che per risolvere il problema 2

Se qualcuno trova una soluzione per Maven, sarei felice di conoscere esso.

risposta

7

Forse hai impostato il plugin come singleton, quindi ci sarà solo un'istanza per il bundle con un ID specifico. Puoi cambiare questo rimuovendo "singleton: = true" nel tuo MANIFEST.MF.

Bundle-SymbolicName: org.eclipse.xxx; singleton:=true 

Oppure, è possibile rimuovere il plug-in versione 1.0.2 dalla configurazione di esecuzione all'avvio. fare clic su Esegui -> Esegui configurazione per aprire la configurazione di esecuzione dialgo, passare alla scheda 'plugins', qui è possibile selezionare quale di questi plugin si desidera utilizzare.

+0

Grazie per questi suggerimenti, ho chiarito la mia domanda riguardo alla risposta. Nelle configurazioni di esecuzione, non ottengo quella scheda per una classe che ha solo un metodo principale. Il problema mostra anche quando provo ad aggiungere la dipendenza, ovvero _prima_ eseguo anche qualcosa. – kutschkem

+0

a mano a mano che la soluzione alternativa è stata aggiunta alla domanda. La scheda viene visualizzata quando ho un'applicazione eclissi invece di un semplice metodo principale java. Questo ancora non risolve il problema in generale, ad esempio quando voglio automatizzare l'esecuzione con Maven. – kutschkem

4

Penso che tu abbia già provato quanto segue, ma un ricarico della piattaforma di destinazione potrebbe essere d'aiuto. Inoltre, cosa specifica il file feature.xml per la versione di quel plug-in?

+0

Specifica 0.0.0. E sì, ho ricaricato la piattaforma di destinazione, ma in realtà, come ho scritto, questo non è nemmeno un problema specifico dell'eclisse. – kutschkem

+0

Interessante (cosa della versione plugin-feature.xml intendo) - quindi cosa succede se ti piace specificare la versione che vuoi lì? – acostache

+0

Beh, non posso davvero influenzarlo nel repository remoto (rilascio Juno ...). A livello locale, mi consente di farlo, ma continua a segnalare che il plug-in non è disponibile (abbastanza strano, questo avvertimento arriva anche quando ho chiuso il progetto 1.0.2) – kutschkem

Problemi correlati