我想使用Nix安装OpenJDK 8或Oracle JDK 8以及Scala。
我首先直接安装了Oracle JDK。然后我通过运行nix-env -i scala
通过Nix安装了scala。这完成了。
但是,运行scalac
失败:
% scala
Exception in thread "main" java.lang.UnsupportedClassVersionError: scala/tools/nsc/MainGenericRunner : Unsupported major.minor version 52.0
at java.lang.ClassLoader.findBootstrapClass(Native Method)
at java.lang.ClassLoader.findBootstrapClassOrNull(ClassLoader.java:1070)
at java.lang.ClassLoader.loadClass(ClassLoader.java:414)
at java.lang.ClassLoader.loadClass(ClassLoader.java:412)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
我确实设置了JAVA_HOME:
% echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home
重申一下,我想通过Nix安装Scala。我想学习一种或多种方法。一些说明:
答案 0 :(得分:3)
首先,我使用nix-env --uninstall scala
卸载了scala。
然后我更新了我的~/.nixpkgs/config.nix
以包含:
{
packageOverrides = pkgs: {
scala = pkgs.scala.override {
jre = pkgs.jre8;
};
};
}
然后我用nix-env -i scala
重新安装了scala。的Presto!
更新1:将jre = pkgs.openjdk8
更改为jre = pkgs.jre8
。