2011-11-25 13 views
6

Nella configurazione di esecuzione di eclipse, viene fornito un insieme di variabili predefinite che è possibile utilizzare negli argomenti VM, come container_path e .
Quello che voglio accedere è una variabile classpath, M2_REPO, ma non riesco a vedere un modo per farlo. Devo specificare un javaagent negli argomenti VM, che richiede un percorso per un file jar. Questo file jar risiede nel repository di Maven, ma non riesco a trovare un modo per specificare il percorso del repository Maven utilizzando la variabile di Classpath M2_REPO già configurata (configurata in windows ->preferences ->java ->Build Path ->Classpath variable).
Quello che mi piacerebbe fare è usare questo come argomenti della mia VM, ma non posso perché classpath_var non è una variabile reale.Accesso al valore della variabile del percorso di classe eclipse M2_REPO negli argomenti della VM di configurazione di esecuzione

-javaagent:${classpath_var:M2_REPO}/org/apache/openjpa/openjpa/2.1.0/openjpa-2.1.0.jar 

C'è un altro modo di accedere al valore di M2_REPO negli argomenti VM?

+0

Nel caso in cui qualcun altro ometta la domanda come ho fatto io: '$ {env_var: VAR_NAME}' può essere usato. Dato che il mio repo è in '% M2_HOME%', questo funziona per me: '-javaagent: $ {env_var: M2_HOME}/repository/org/apache/openjpa/openjpa/2.1.0/openjpa-2.1.0.jar' – xverges

risposta

4

Questo non è esattamente quello che hai chiesto, ma ha funzionato per noi come un modo di condividere una base di codice e di non avere percorsi codificati nelle nostre configurazioni di esecuzione. Anziché utilizzare una variabile classpath, utilizzare una variabile di sostituzione stringa (configurata in windows -> preferences -> run/debug -> String Substitution). Impostalo sullo stesso percorso del valore di M2_REPO e salva. Utilizzando l'esempio precedente, se il vostro sostituzione di stringhe nome variabile è stata anche M2_REPO, l'argomento VM sarebbe

-javaagent:${M2_REPO}/org/apache/openjpa/openjpa/2.1.0/openjpa-2.1.0.jar 

Per essere ancora più chiaro, io personalmente solo creare una variabile sostituzione di stringhe openjpa_2_1_0_agent che è andato direttamente al vostro vaso JPA aperto .

Problemi correlati