gpt4 book ai didi

java - Scala REPL 只能以 root 用户身份运行,以非 root 身份运行时会出现错误

转载 作者:行者123 更新时间:2023-11-30 04:44:33 26 4
gpt4 key购买 nike

我运行的是64位OpenSUSE 12.1,今天我从官网下载了最新的Scala 2.9.2,解压tgz后进入scala-2.9.2/bin目录,执行“scala”并得到此错误消息:

[init] error: error while loading <root>, error in opening zip file

Failed to initialize compiler: object scala not found.
** Note that as of 2.8 scala does not assume use of the java classpath.
** For the old behavior pass -usejavacp to scala, or if using a Settings
** object programatically, settings.usejavacp.value = true.

我尝试运行 scala -usejavacp 但没有帮助。我在许多其他发行版中经常使用 Scala,以前从未遇到过此错误。

我的 OpenSUSE 安装已安装 OpenJDK 6。

请提出您的意见,谢谢!

为了解决这个问题,我做了以下尝试:

  1. 安装Oracle JDK 1.7并运行scala,确认scala REPL报告在热点JVM 1.7中运行,出现同样的错误。
  2. 安装了 sbt 并从 sbt 运行“控制台”,出现同样的错误。
  3. strace 和 diff sudo scala 和普通用户 scala 之间的输出,除了上面的错误消息之外没有任何区别。
  4. scala -Ylog-classpath 作为 su 和普通用户,然后比较输出,与上面相同。
  5. 禁用 AppArmor 并重试,出现同样的错误消息。
  6. 下载其他 scala 版本(所有 2.9x 和 2.10 里程碑 4),它们的所有 REPL 都会给出相同的错误消息。
  7. 确保在 scala REPL 运行之前 fsc 未运行
  8. 确保主机名可解析

这是一个非常有趣的问题,如果我能幸运地找到它,我一定会发布一个解决方案。

非常感谢您的帮助!

最后编辑:感谢这里和 reddit (http://www.reddit.com/r/scala/comments/w5s0m/please_help_scala_only_runs_as_root_user_gives/) 上的每个人,他们提供了非常有值(value)的建议来帮助我解决这个非常奇怪的问题。请参阅下面我的回答以获取解决方案。

最佳答案

不要将 sbt-launch.jar 放在 $SCALA_HOME/lib 目录、项目的 lib 目录或任何将放在类路径中的位置。

关于java - Scala REPL 只能以 root 用户身份运行,以非 root 身份运行时会出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11371252/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com