2013-07-08 11 views
6

Questo sembra essere un problema che non vedo su macchine Linux o Windows. Ho il mio ambiente di installazione con un JAVA_HOME derivato da/usr/libexec/java_home. Questo è a mio file .bashrc:

export JAVA_HOME=$(/usr/libexec/java_home -version 1.7) 

che si traduce in:

~/dev/Endeavor/endeavor-sdk$ echo $JAVA_HOME 
/Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home 

Tuttavia quando corro Maven sul mio progetto, ho un errore dal plugin native2ascii:

[ERROR] Failed to execute goal org.codehaus.mojo:native2ascii-maven-plugin:1.0-alpha-2-SNAPSHOT:native2ascii (default) on project dataAccessServices: Error starting Sun's native2ascii: -> [Help 1] 

La mia indagine indica che sto usando un JRE invece di un JDK. È strano poiché sto indicando chiaramente il JDK nella mia variabile JAVA_HOME. Tuttavia, qui è l'uscita del mvn -version:

~/dev/Endeavor/endeavor-sdk$ mvn -version 
Apache Maven 3.0.4 (r1232337; 2012-01-17 03:44:56-0500) 
Maven home: /usr/share/maven 
Java version: 1.7.0_17, vendor: Oracle Corporation 
Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home/jre 
Default locale: en_US, platform encoding: UTF-8 
OS name: "mac os x", version: "10.7.5", arch: "x86_64", family: "mac" 

Avviso la "casa Java:" riga indica che la variabile $ {} java.home è stato spostato al JRE al posto del JDK che la La variabile di ambiente JAVA_HOME punta a.

Ho provato a impostare lo JAVA_HOME in numerosi luoghi ma non riesco a trovare un modo per convincere Maven a usare JDK come casa e non come JRE.

UPDATE:

ho trovato questo che sembra indicare che questo è il comportamento previsto: Java_home in Maven

Ma questo non spiega il motivo per cui il plugin native2ascii non riesce a trovare lo strumento JDK di cui ha bisogno.

Ho rimosso l'uso di native2ascii poiché era in gran parte non necessario. Quindi, sto evitando il problema a questo punto. Tuttavia, se qualcuno ha un'idea del perché questo si comporta in modo diverso su sistemi diversi, per favore fatemelo sapere.

+0

Hai guardato a questo: http://stackoverflow.com/questions/3371737/maven-confused-about-jre-been-used – sheidaei

+0

@sheidaei che è completamente estraneo al problema che sto avendo, grazie. – AlphaGeek

+0

perché non provi a mettere il tuo JDK in /Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home/jre e poi prova, se non l'hai già fatto? Questa non è una soluzione ma una soluzione alternativa. Immagino che farlo potrebbe causare più problemi che risolverlo. – sheidaei

risposta

0

Hai provato a eseguire mvm help:system che dovrebbe stampare tutti i valori delle variabili di ambiente rilevanti per Maven?

+0

mvn help: system – Sergio