未找到模块:org.scala-sbt#sbt;1.1.6
Posted
技术标签:
【中文标题】未找到模块:org.scala-sbt#sbt;1.1.6【英文标题】:module not found: org.scala-sbt#sbt;1.1.6 【发布时间】:2018-11-11 05:58:48 【问题描述】:我通过终端使用以下命令安装了 SBT:
echo "deb https://dl.bintray.com/sbt/debian /" | sudo tee -a /etc/apt/sources.list.d/sbt.list
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2EE0EA64E40A89B84B2DF73499E82A75642AC823
sudo apt-get update
sudo apt-get install sbt
在我的 Ubuntu 18.04 和 java 版本上:
openjdk version "1.8.0_171"
OpenJDK Runtime Environment (build 1.8.0_171-8u171-b11-0ubuntu0.18.04.1-b11)
OpenJDK 64-Bit Server VM (build 25.171-b11, mixed mode)
安装成功但是当我尝试通过终端启动SBT
时,我得到了
https://repo.scala-sbt.org/scalasbt/ivy-snapshots/org.scala-sbt/sbt/1.1.6/ivys/ivy.xml
::::::::::::::::::::::::::::::::::::::::::::::
:: UNRESOLVED DEPENDENCIES ::
::::::::::::::::::::::::::::::::::::::::::::::
:: org.scala-sbt#sbt;1.1.6: not found
::::::::::::::::::::::::::::::::::::::::::::::
:::: ERRORS
Server access Error: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty url=https://repo1.maven.org/maven2/org/scala-sbt/sbt/1.1.6/sbt-1.1.6.pom
Server access Error: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty url=https://repo1.maven.org/maven2/org/scala-sbt/sbt/1.1.6/sbt-1.1.6.jar
Server access Error: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty url=https://repo.scala-sbt.org/scalasbt/maven-releases/org/scala-sbt/sbt/1.1.6/sbt-1.1.6.pom
Server access Error: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty url=https://repo.scala-sbt.org/scalasbt/maven-releases/org/scala-sbt/sbt/1.1.6/sbt-1.1.6.jar
Server access Error: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty url=https://repo.scala-sbt.org/scalasbt/maven-snapshots/org/scala-sbt/sbt/1.1.6/sbt-1.1.6.pom
Server access Error: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty url=https://repo.scala-sbt.org/scalasbt/maven-snapshots/org/scala-sbt/sbt/1.1.6/sbt-1.1.6.jar
Server access Error: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty url=https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt/1.1.6/ivys/ivy.xml
Server access Error: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty url=https://repo.scala-sbt.org/scalasbt/ivy-snapshots/org.scala-sbt/sbt/1.1.6/ivys/ivy.xml
怎么了?
更新
developer@monad:~$ sudo apt-get purge openjdk-8-jdk java-common
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
openjdk-11-jre-headless : Depends: ca-certificates-java but it is not going to be installed
Depends: java-common (>= 0.28) but it is not going to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
已安装的java版本列表:
developer@monad:~$ update-java-alternatives --list
java-1.11.0-openjdk-amd64 1101 /usr/lib/jvm/java-1.11.0-openjdk-amd64
java-1.8.0-openjdk-amd64 1081 /usr/lib/jvm/java-1.8.0-openjdk-amd64
更新 2
sudo apt-get install ca-certificates-java
Reading package lists... Done
Building dependency tree
Reading state information... Done
ca-certificates-java is already the newest version (20170930ubuntu1).
ca-certificates-java set to manually installed.
The following packages were automatically installed and are no longer required:
libice-dev libsm-dev libxt-dev
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
【问题讨论】:
你也需要将 SCALA_HOME 指向 scala 安装目录 【参考方案1】:根本原因是 openjdk-11-jdk(这是 Ubuntu 18.04 中的默认设置)和 sbt 包设置之间的冲突。它已经在 Debian 中修复,不久将包含在 Ubuntu 中。同时,最简单的解决方法是将您的 java 降级到版本 8。使用 ca-certificates-java
的其他解决方案要复杂得多。
首先删除冲突的包:
sudo apt-get remove --purge openjdk* java-common default-jdk
sudo apt-get remove --purge sbt
sudo apt-get autoremove --purge
通过以下方式检查您成功删除所有相关包的天气:
sudo update-alternatives --config java
系统将提示您没有可配置的 Java,否则此解决方法失败。
然后重新安装所需的软件包:
sudo apt-get install openjdk-8-jdk sbt
测试者:
sbt compile
【讨论】:
【参考方案2】:问题是 java-certificates 所以你需要运行这些命令:
重新安装JDK
$ sudo apt-get purge openjdk-8-jdk java-common
$ sudo apt-get install openjdk-8-jdk
运行 sbt
$ sbt
【讨论】:
你安装了ca-certificates-java
吗?
如何安装ca-certificates-java
?
sudo apt install ca-certificates-java
是的。 run sbt
不起作用。它说它找不到推荐。
我昨天遇到了确切的问题。这些命令对我有帮助。我也使用 ubuntu 18.04。【参考方案3】:
我建议您安装完全独立于操作系统包的 Java/Scala/SBT。对于开发人员而言,apt-get
、yum
或其他安装了哪个特定版本的 Java 并不重要(或不重要!)。
从开发人员的角度来看,在多个 Java 版本下测试您的应用程序甚至可能是有意义的。我以前见过这种情况:在 Java 1.8.x 下“有效”,但在 Java 1.8.y 下“失败”。
因此,从开发人员的角度来看,您会对快速切换 Java 版本感兴趣,这样您就可以快速确保它在这几个不同的版本下正常工作,无论您的特定版本上安装了哪个特定版本操作系统。
如果你喜欢这个想法,这就是它的工作原理:
-
手动下载您喜欢的所有 JDK 版本并将它们解压缩到您的主文件夹下的给定文件夹下,例如:
$HOME/tools
。我有一个脚本可以自动为您安装特定版本的 JDK:https://github.com/frgomes/bash-scripts/blob/master/scripts/user-install/install-java.sh
以类似virtualenv
的方式调整环境变量。它比您想象的要容易,您甚至不需要virtualenv
。您只需要source
一个在登录时运行的shell 脚本,它定义JAVA_HOME
,指向您的$HOME/tools
下的给定Java 版本。这是一个例子:https://github.com/frgomes/bash-scripts/blob/master/bashrc-virtualenvs/j8s12/bin/postactivate
手动安装 Scala 和 SBT 版本,或者使用我的自动化脚本https://github.com/frgomes/bash-scripts/blob/master/scripts/user-install/install-scala.sh
【讨论】:
【参考方案4】:这为我解决了问题。
sudo update-ca-certificates -f
【讨论】:
【参考方案5】:就我而言,我通过删除.m2
、.ivy
和.sbt
解决了这个问题。
下次我执行sbt
时,它修复了所有问题。
我相信我在使用缓存的依赖项或其他东西时破坏了 sbt。
【讨论】:
以上是关于未找到模块:org.scala-sbt#sbt;1.1.6的主要内容,如果未能解决你的问题,请参考以下文章
未解决的依赖:org.scala-sbt#sbt; 0.13:运行sbt 0.13时找不到?
sbt Getting org.scala-sbt sbt 0.13.12 ...
尽管我的系统中安装了相同的版本,但出现“org.scala-sbt#sbt;0.13.8: not found”错误。如何解决这个问题?