2011-10-17 10 views
16

Ho alcune attività Ant nel mio progetto Eclipse JDT che voglio eseguire prima di ogni compilazione, quindi ho aggiunto un builder Ant alla mia configurazione di Eclipse builder. Come la posizione del file di build, entraiIntegrare Ant builder in Eclipse: errore "Variabile riferimenti selezione vuota"

${workspace_loc:${project_path}/build.xml} 

faccio non vuole avere eventuali percorsi assoluti, o il nome del progetto, qui. La configurazione di Eclipse è parte del repository e altri utenti lo controllano con diversi layout di file system e, eventualmente, diversi nomi di progetti di Eclipse. Per esempio, di solito ho diverse copie di lavoro dello stesso progetto nel mio spazio di lavoro di Eclipse, ognuna con un nome di progetto diverso.

Questo funziona la maggior parte del tempo. Tuttavia, a volte viene visualizzato il seguente messaggio di errore in una finestra di dialogo:

Errori durante la compilazione.
Errori durante l'esecuzione del builder 'Strumento di creazione di strumenti esterni integrati' nel progetto 'MyProjectName'.
riferimenti variabile di selezione vuota: $ {project_path}
riferimenti variabile di selezione vuota: $ {project_path}

Questo sembra accadere quando Eclipse decide di costruire il progetto mentre è selezionata alcuna risorsa del progetto nel pacchetto Esploratore. Posso riprodurlo creando un file fittizio nel progetto, cancellando il file all'esterno di Eclipse, selezionandolo in Eclipse e premendo F5. Eclipse noterà che il file non esiste più, lo rimuove dal Package Explorer (quindi niente è più selezionato) e quindi crea il progetto, dando il messaggio di errore.

Anche se non è così importante che le attività di Ant vengano eseguite per ogni compilazione, non voglio avere una finestra di messaggio di errore che possa confondere gli utenti.

Così come posso

  • riferimento il file build.xml in modo diverso in modo tale che il problema va via, o
  • risolvono il problema, o
  • sopprimere la finestra di errore per questo particolare errore?

Qualsiasi aiuto sarebbe apprezzato. Sto usando Eclipse 3.7 (Indigo).

risposta

17

Ovviamente, ha problemi a tradurre un riferimento a una variabile ($ {project_path}) all'interno di ... un riferimento a una variabile ($ {workspace_loc}).

Si potrebbe provare il $ {} build_project variabile invece

${build_project:/build.xml} 

spero che aiuta.

+0

Grazie per la risposta, purtroppo non aiuta. Con '$ {project_loc: /build.xml}', il messaggio di errore si verifica su ogni build, quindi sembra che il percorso non sia affatto corretto. –

+0

OK, ho controllato e questo percorso ha funzionato per me: $ {workspace_loc}/$ {project_path} /build.xml – Efthymis

+0

Scusa, non funziona per me. Comunque, la tua idea di usare altre variabili è stata molto buona, ho trovato la variabile 'build_project', che sembra essere esattamente quello che stavo cercando (non so perché l'ho perso fino ad ora). Con '$ {build_project: /build.xml}' funziona correttamente. Vuoi aggiornare la tua risposta in modo che io possa accettarla? –

9

Hai riscontrato qualche inconveniente nell'interfaccia utente di Eclipse. La logica ti impone che quando hai aperto un progetto, le variabili relative al progetto aperto devono essere popolate. Ma non lo sono, perché a causa di un bug o altro motivo, il codice li ha uccisi dopo lo spostamento spostato altrove.

Così come una soluzione è possibile:

  1. Mettere il percorso completo del file xml
  2. Appena prima di lanciare il tool esterno, click sul progetto a sinistra (in vista Esplora progetto) , quindi premere il pulsante di avvio.

Cliccando sul (icona della cartella) progetto popolerà le variabili

A proposito, penso ${workspace_loc}${project_path}/build.xml è ok.

+0

Grazie per la risposta. Sfortunatamente, non mi aiuta, perché (come ho detto) non posso usare i percorsi completi (il file è nel repository), e non si tratta di avviare manualmente uno strumento, ma di costruire un progetto (automatico), così Eclipse decide quando fa questo, non io. Tuttavia, la risposta di Efthymis è corretta e funzionante, quindi non c'è bisogno di soluzioni alternative. –

+1

Il punto 2 ha risolto il problema per me. Per qualche motivo se l'attenzione è nella vista dell'editor, $ {project_loc} non viene popolato durante il debug. Facendo clic sul progetto nella vista Esplora progetti immediatamente prima dell'avvio risolto il problema come suggerito. Grazie! – fwc

+1

Nessuno è stato in grado di risolvere il problema fino al 2015 :-(Ho sempre riscontrato questo tipo di problema quando voglio eseguire nuovamente un test dell'unità guasto dopo aver apportato modifiche al codice. –

Problemi correlati