代码之家  ›  专栏  ›  技术社区  ›  Siddhartha

SBT无法在我的机器上找到已安装的java,尽管$java\u HOME设置正确

  •  2
  • Siddhartha  · 技术社区  · 8 年前

    我做的

    brew install scala
    brew install sbt
    

    scala对我来说很好,但是当我尝试运行sbt时,我得到:

    ⇒  sbt
    grep: warning: GREP_OPTIONS is deprecated; please use an alias or script
    
    No java installations was detected.
    Please go to http://www.java.com/getjava/ and download
    
    
    siddhartha@Siddharthas-MacBook-Pro-2:~|
    ⇒  echo $JAVA_HOME
    /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
    

    我查看了以下两个链接,但都没有有用的答案:

    No Java installation was detected while sbt update

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

    感谢您的帮助。

    2 回复  |  直到 8 年前
        1
  •  1
  •   Siddhartha    8 年前

    我的解决方案是做一个 sudo

        2
  •  0
  •   yonran    7 年前

    启动java的sbt脚本( sbt-launch-lib.bash )打印未检测到java安装(现在未检测到java Development Kit(JDK)安装。)如果运行时出现任何错误 java -version 使用当前环境变量 JAVA_TOOL_OPTIONS , _JAVA_OPTIONS . 因此,如果这些变量中的任何一个包含不可能的选项,sbt将给出误导性误差,而不是实际误差。

    JAVA\u TOOL\u选项 _JAVA_选项 可能被错误配置为内存使用量过大(例如。 -Xms100g ). 或者它可能被错误配置为侦听调试端口(例如。 -agentlib:jdwp=transport=dt_sockerver=y,suspend=n,address=5005 )这已经受到另一个程序的约束。

    sbt脚本适用 JAVA_OPTS SBT_OPTS 仅在检查后 java-版本 ,因此,如果改为设置它们,则可能会得到更好的错误消息。