你能在 MacOS Catalina 上安装 sbt 0.12.4、scala 2.10.6 和 java 7 吗?

Can you install sbt 0.12.4, scala 2.10.6 and java 7 on MacOS Catalina?

我们有一个 legacy Scala 项目,我们需要对其进行更改并在 MacOS Catalina 上进行编译。它的总结配置是:

scalaVersion := "2.10.6"
sbt.version=0.12.4
Java 7

现阶段我们没有资源将项目升级到最新版本。

我安装了Java7.

java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)

我一直在尝试在 MacOS Catalina 上安装 sbt 0.12.4 但没有成功,几天后我已经用尽了所有选择。

  1. 我尝试使用 sbt-launch.jar 按照 official manual installation instructions 安装,但在安装过程中许多依赖项不再可用。

  2. 我试过使用 sbt-extras 脚本但是当 运行 它时我得到:

Getting net.java.dev.jna jna 3.2.3 ...

:: problems summary ::
:::: WARNINGS
        module not found: net.java.dev.jna#jna;3.2.3

    ==== local: tried

      /Users/theuser/.ivy2/local/net.java.dev.jna/jna/3.2.3/ivys/ivy.xml

    ==== typesafe-ivy-releases: tried

      http://repo.typesafe.com/typesafe/ivy-releases/net.java.dev.jna/jna/3.2.3/ivys/ivy.xml

    ==== Maven Central: tried

      http://repo1.maven.org/maven2/net/java/dev/jna/jna/3.2.3/jna-3.2.3.pom

    ==== sonatype-snapshots: tried

      https://oss.sonatype.org/content/repositories/snapshots/net/java/dev/jna/jna/3.2.3/jna-3.2.3.pom

        ::::::::::::::::::::::::::::::::::::::::::::::

        ::          UNRESOLVED DEPENDENCIES         ::

        ::::::::::::::::::::::::::::::::::::::::::::::

        :: net.java.dev.jna#jna;3.2.3: not found

        ::::::::::::::::::::::::::::::::::::::::::::::


:::: ERRORS
    Server access Error: Connection refused url=http://repo.typesafe.com/typesafe/ivy-releases/net.java.dev.jna/jna/3.2.3/ivys/ivy.xml

    SERVER ERROR: HTTPS Required url=http://repo1.maven.org/maven2/net/java/dev/jna/jna/3.2.3/jna-3.2.3.pom

    Server access Error: Connection reset url=https://oss.sonatype.org/content/repositories/snapshots/net/java/dev/jna/jna/3.2.3/jna-3.2.3.pom


:: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS
unresolved dependency: net.java.dev.jna#jna;3.2.3: not found
Error during sbt execution: Error retrieving required libraries
  (see /Users/theuser/.sbt/0.12.4/boot/update.log for complete log)
Error: Could not retrieve jna 3.2.3

我们之前通过手动查找依赖项来编译我们自己的依赖项缓存(其中一些已经过时),然后在编译之前将这些依赖项放入我们的 ~/.ivy2/cache 中。在这种情况下,我找不到 jna3.2.3 将其包含在 /Users/theuser/.ivy2/local/net.java.dev.jna/jna/3.2.3/ 中,作为一种解决方法,看看我是否可以进一步。

  1. 我已经从另一个 Mac 复制了 sbt 0.12.4 配置、文件夹和 ivy 缓存,其中 sbt 和遗留项目目前正在工作。没用。

如有任何帮助或线索,我们将不胜感激。

根据@kmh在评论中的建议和中的回答,我的问题得到了解决。谢谢!

  • 使用 brew install sbt@0.13 安装 sbt 0.13。它安装 Java 8 (openjdk@8) 作为依赖项。
  • 在项目的根目录中添加了 .sbtopts 并将其指向安装了 Java 7 的位置:
    -java-home
    /usr

然后我 运行 sbt 并且所有依赖项都已成功解决。