为什么sbt报告"没有检测到Java安装"并设置了$ JAVA_HOME?

アレッ*_*ックス 3 macos android scala sbt

我有2个sbt-android-scala项目.第一个是单一的:

$ ls -al
drwxr-xr-x  13 alex  staff   442 Dec 24 20:44 .
drwxr-xr-x   4 alex  staff   136 Dec 24 21:08 ..
drwxr-xr-x  12 alex  staff   408 Dec 24 20:38 .git
-rw-r--r--   1 alex  staff   141 Dec 24 20:38 .gitignore
-rw-r--r--   1 alex  staff   115 Dec 24 20:38 .travis.yml
-rw-r--r--   1 alex  staff   664 Dec 24 20:38 CHANGES
-rw-r--r--   1 alex  staff  1418 Dec 24 20:38 LICENSE
-rw-r--r--   1 alex  staff  2491 Dec 24 20:38 README.md
-rw-r--r--   1 alex  staff   874 Dec 24 20:38 build.sbt
drwxr-xr-x  10 alex  staff   340 Dec 24 20:38 notes
drwxr-xr-x   5 alex  staff   170 Dec 24 20:43 project
drwxr-xr-x   3 alex  staff   102 Dec 24 20:38 src
drwxr-xr-x   5 alex  staff   170 Dec 25 01:17 target
Run Code Online (Sandbox Code Playgroud)

第二个包含子项目:

    $ ls -al
drwxr-xr-x  23 alex  staff    782 Dec 24 21:57 .
drwxr-xr-x   4 alex  staff    136 Dec 24 21:08 ..
drwxr-xr-x  13 alex  staff    442 Dec 24 21:57 .git
-rw-r--r--   1 alex  staff     44 Dec 24 21:57 .gitignore
-rw-r--r--   1 alex  staff    203 Dec 24 21:57 .gitmodules
-rw-r--r--   1 alex  staff     46 Dec 24 21:57 .sbtopts
-rw-r--r--   1 alex  staff     55 Dec 24 21:57 .sbtrc
-rw-r--r--   1 alex  staff  35119 Dec 24 21:57 LICENSE.md
-rw-r--r--   1 alex  staff   6964 Dec 24 21:57 README.md
-rw-r--r--   1 alex  staff  30626 Dec 24 21:57 RELEASE-NOTES.md
drwxr-xr-x  18 alex  staff    612 Dec 24 21:57 my_prj1
-rw-r--r--   1 alex  staff    892 Dec 24 21:57 build.sbt
drwxr-xr-x  11 alex  staff    374 Dec 24 21:57 common
drwxr-xr-x  11 alex  staff    374 Dec 24 21:57 my_prj2
drwxr-xr-x   3 alex  staff    102 Dec 24 21:57 my_prj3
drwxr-xr-x   7 alex  staff    238 Dec 24 22:01 project
Run Code Online (Sandbox Code Playgroud)

当我sbt在第一个项目中运行时,它编译得很好,与第二个项目不同:

$ sbt

No java installations was detected.
Please go to http://www.java.com/getjava/ and download
Run Code Online (Sandbox Code Playgroud)

$ echo $JAVA_HOME
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)

Mla*_*vić 8

我有它失败了完全不同的理由:我有GREP_OPTIONS="--color=always"这样sbt不能正确地确定我的Java版本(它的管道grep输出sed等).GREP_OPTIONS从我的环境中删除解决了这个问题.