To wydaje się być problemem, którego nie widzę na systemach Linux ani Windows. Mam konfigurację środowiska z JAVA_HOME
pochodzącą z/usr/libexec/java_home. Jest to w moim .bashrc pliku:
export JAVA_HOME=$(/usr/libexec/java_home -version 1.7)
co skutkuje:
~/dev/Endeavor/endeavor-sdk$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home
Jednak gdy uruchamiam Maven na mój projekt, pojawia się błąd we wtyczce 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]
Moje dochodzenie wskazuje, że używam JRE zamiast JDK. To dziwne, ponieważ wyraźnie wskazuję na JDK w mojej zmiennej JAVA_HOME
. Jednak tutaj jest wyjście 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"
Zawiadomienie „home Java:” linia wskazuje, że $ {zmienna} java.home została przeniesiona do JRE zamiast JDK że JAVA_HOME
zmienna środowiskowa wskazuje na.
Próbowałem ustawić JAVA_HOME
w wielu miejscach, ale nie wydaje mi się, aby znaleźć sposób na wykorzystanie JDK jako domu, a nie JRE.
UPDATE:
znalazłem to, że wydaje się wskazywać, że jest to oczekiwane zachowanie: Java_home in Maven
Ale to nie wyjaśnia, dlaczego wtyczki native2ascii nie można znaleźć narzędzia JDK potrzebuje.
Usunąłem użycie native2ascii, ponieważ było to w dużej mierze niepotrzebne. Tak więc unikam problemu w tym momencie. Jeśli jednak ktoś ma pomysł, dlaczego zachowuje się inaczej w różnych systemach, proszę dać mi znać.
Czy spojrzał na to: http://stackoverflow.com/questions/3371737/maven-confused-about-jre-been-used – sheidaei
@sheidaei, który jest całkowicie niezwiązany z problemem, który mam, dzięki. – AlphaGeek
dlaczego nie spróbujesz umieścić swojego JDK w /Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home/jre, a następnie spróbujesz, jeśli jeszcze tego nie zrobiłeś? To nie jest rozwiązanie, ale obejście. Myślę, że zrobienie tego może spowodować więcej problemów niż rozwiązanie. – sheidaei