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.
Hai guardato a questo: http://stackoverflow.com/questions/3371737/maven-confused-about-jre-been-used – sheidaei
@sheidaei che è completamente estraneo al problema che sto avendo, grazie. – AlphaGeek
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