2017-11-11 345 views
0

当我尝试推出SBT,我得到以下信息:SBT无法找到的Java

~(501)$sbt 
(standard_in) 1: parse error 

No java installations was detected. 
Please go to http://www.java.com/getjava/ and download 

然而,Java和斯卡拉安装

~(508)$java -version 
java version "1.8.0_65" 
Java(TM) SE Runtime Environment (build 1.8.0_65-b17) 
Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode) 

这是斯卡拉

~(503)$scala 
Welcome to Scala 2.12.4 (Java HotSpot(TM) 64-Bit Server VM, Java 9.0.1). 
Type in expressions for evaluation. Or try :help. 

scala> 

而且你可以在路径中找到它们

Java的路径

export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home/"  
export PATH=$PATH:"/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home/" 

SBT路径

export SBT_HOME="/usr/local/Cellar/sbt/1.0.3/bin/" 
export PATH=$PATH:$SBT_HOME 

和Scala路径

export SCALA_HOME="/usr/local/opt/scala/idea" 
export PATH=$PATH:$SCALA_HOME/bin 

我跑所有这些在MAC OS塞拉利昂v10.12.6 我感谢所有帮助。提前致谢。

回答

0

JAVA_HOME and PATH不应该指向相同的目录。 JAVA_HOME指向Java目录,PATH指向其bin子目录。 例如,对于我

$ echo $JAVA_HOME 
/usr/lib/jvm/java-8-oracle 
$ echo $PATH 
...:/usr/lib/jvm/java-8-oracle/bin:... 

Why does sbt report "No java installations was detected" with $JAVA_HOME set?

No Java installation was detected while sbt update

https://apple.stackexchange.com/questions/163418/no-java-installations-was-detected-although-i-have-java

Installing Java on OS X 10.9 (Mavericks)

+1

感谢您的帮助 – rumbo181

2

感谢你的回答,它帮了我很多。

最重要的是在grep的选项修复:

#GREP_OPTIONS="--color=always";export GREP_OPTIONS 
    #pay attention - don't use previous line or sbt for scala won't work, 
    #this is the reason why to keep active the following line 
    GREP_OPTIONS="" 

另外,我重写正确路径和变量设置。在我从zip文件中设置sbt的新安装方式中,我包含了一个特定的别名以覆盖以前的设置并在.bash_profile中启动。

### Java 
export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home" 
export PATH=$PATH:$JAVA_HOME/bin 

### SBT 
#alias is to force launch from fresh install from .zip file 
alias sbt="~/sbt/bin/sbt" 
export SBT_HOME="~/sbt" 
export PATH=$PATH:$SBT_HOME/bin