本文介绍了与更新我的Mac最新的Java JDK困难的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

[二零一五年十月一十二日12:51]

little-mbook1:platform mlittle$ ant clean all
     Error: JAVA_HOME is not defined correctly.
       We cannot execute   /Library/Java/JavaVirtualMachines/jdk1.7.0_21.jdk/Contents/Home//bin/java
mlittle-mbook1:bin mlittle$ export   JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home
$JAVA_HOME//bin/java

=================

[2015-10-12: 1204]

mlittle-mbook1:~ mlittle$ /usr/libexec/java_home -v
java_home: option requires an argument -- v
/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home
mlittle-mbook1:~ mlittle$ which java
/usr/bin/java
mlittle-mbook1:~ mlittle$ cd 00hybris/hybris/bin/platform
mlittle-mbook1:platform mlittle$ pwd
/Users/mlittle/00hybris/hybris/bin/platform
mlittle-mbook1:platform mlittle$ . ./setantenv.sh
mlittle-mbook1:platform mlittle$ ant clean all
Error: JAVA_HOME is not defined correctly.
We cannot execute   /Library/Java/JavaVirtualMachines/jdk1.7.0_21.jdk/Contents/Home//bin/java

=======

=======

[2015-10-11-23:20]FURTHER INVESTIGATION

mlittle-mbook1:Users mlittle$ cd
/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home

mlittle-mbook1:Home mlittle$ pwd
/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home

mlittle-mbook1:Home mlittle$ ls -a
.                   README.html             db                  lib
..                  THIRDPARTYLICENSEREADME-JAVAFX.txt  include         man
COPYRIGHT               THIRDPARTYLICENSEREADME.txt     javafx-src.zip release
LICENSE                 bin                 jre                 src.zip

mlittle-mbook1:Home mlittle$ cd bin

mlittle-mbook1:bin mlittle$ ls -a
.       jar     javafxpackager  jconsole    jjs     jsadebugd   keytool rmic servertool xjc
 ..     jarsigner   javah       jdb     jmap        jstack      native2ascii    rmid        tnameserv
appletviewer    java        javap       jdeps       jmc     jstat       orbd        rmiregistry unpack200
extcheck    javac       javapackager    jhat        jps     jstatd      pack200     schemagen   wsgen
idlj        javadoc     jcmd        jinfo       jrunscript  jvisualvm   policytool  serialver   wsimport

mlittle-mbook1:bin mlittle$ which java
/usr/bin/java
mlittle-mbook1:bin mlittle$ export    JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home
mlittle-mbook1:bin mlittle$ java -version
java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)
mlittle-mbook1:bin mlittle$

====

 mlittle-mbook1:platform mlittle$ ant clean all
 Error: JAVA_HOME is not defined correctly.
   We cannot execute   /Library/Java/JavaVirtualMachines/jdk1.7.0_21.jdk/Contents/Home//bin/java
mlittle-mbook1:platform mlittle$*

==INITIAL INVESTIGATION

I seem to have a problem with my Java installation on my MacBook, as this relates to the installation of a java based eCommerce platform [ Difficulties with installation script for hybris 5.6.02 ] and the use of Apache Ant...

  1. Regarding my MacBook..System Software Overview:

=========

1. Checked which java…

mlittle-mbook1:~ mlittle$ which java
/usr/bin/java

2. Recheck which Java..

mlittle-mbook1:~ mlittle$ ls -l `which java`
lrwxr-xr-x  1 root  wheel  74  5 Nov  2014 /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java

3. I then downloaded the JDK version 8, update 60, and so in the path:

/Library/Java/Java?JavaVirtualMachines

Previously it had..

Now It has

This is confusing, I was expecting that it would replace /jdk1.7.0_21.jdk with /jdk1.8.0_60.jdk

4. I check the version of java..

mlittle-mbook1:~ mlittle$ java -version
java version "1.7.0_21"
mlittle-mbook1:~ mlittle$ java -version
java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b12)
Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)

It was still indicating java version "1.7.0_21"???

And so I renamed /jdk1.7.0_21.jdk to /old-jdk1.7.0_21.jdk

4. I again check the version of java, and then I got…

mlittle-mbook1:~ mlittle$ java -version
java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)

5. Which should be the correct version of Java for Hybris5.6.0.2 [this the java based eCommerce platform that I am trying to install] by setting the ANT environment variables, and commence the build process [ant clean all]… but…

mlittle-mbook1:platform mlittle$ . ./setantenv.sh


Tried to ant clean all.. and got an error message relating to JAVA_HOME

mlittle-mbook1:platform mlittle$ ant clean all
Error: JAVA_HOME is not defined correctly.
  We cannot execute /Library/Java/JavaVirtualMachines/jdk1.7.0_21.jdk/Contents/Home//bin/java



6. Again checked the java path…

mlittle-mbook1:platform mlittle$ which java
/usr/bin/java

7. I tried to change the Java_home path and then re-run ANT..

mlittle-mbook1:platform mlittle$ export JAVA_HOME=/Library/Java/Home
mlittle-mbook1:platform mlittle$ ant clean all
Error: JAVA_HOME is not defined correctly.
  We cannot execute /Library/Java/Home/bin/java



8. Again checked "which Java"

mlittle-mbook1:platform mlittle$ which java
/usr/bin/java
mlittle-mbook1:platform mlittle$ $JAVA_HOME/bin/java -version
-bash: /Library/Java/Home/bin/java: No such file or directory

9.I tried to change the Java_home, reran Ant, but still got an error message..

mlittle-mbook1:platform mlittle$ export JAVA_HOME=/Library/Java/JavaVirtualMachines/
mlittle-mbook1:platform mlittle$ ant clean all
Error: JAVA_HOME is not defined correctly.
  We cannot execute /Library/Java/JavaVirtualMachines//bin/java

10. 9.I tried to change the Java_home, reran Ant, but still got an error message..

mlittle-mbook1:platform mlittle$ export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/bin
mlittle-mbook1:platform mlittle$ ant clean all
Error: JAVA_HOME is not defined correctly.
  We cannot execute /Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/bin/bin/java

11. Again checked which java

mlittle-mbook1:platform mlittle$ which java
/usr/bin/java

I am confused, clearly I do not have my java set home variables set up properly: any suggestions?

解决方案

Looks like this should be the correct one:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home

Ant will try to use the file $JAVA_HOME/bin/java. If that doesn't exist, then JAVA_HOME is not correct, it's that simple.If for example your java executable is at /path/to/whatever/bin/java, then JAVA_HOME should be /path/to/whatever.

这篇关于与更新我的Mac最新的Java JDK困难的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

05-26 18:22
查看更多