【问题标题】:Scala shell not running without super user privilege on ubuntu在 ubuntu 上没有超级用户权限的情况下,Scala shell 无法运行
【发布时间】:2018-02-06 11:34:44
【问题描述】:

我已经通过 apt 安装了 Scala,但是当我尝试运行 Scala shell 时,它会抛出一个 NoClassDefFoundError。当我尝试使用超级用户权限运行它时,它运行良好。 Scalac 在没有超级用户权限的情况下运行良好。 运行env 命令后,我看到SCALA_HOME 在那里,但没有列出用于scala 的PATH。我尝试通过bashrcprofile/etc/environment 添加路径,但它没有被添加到PATH。 我的SCALA_HOME/usr/share/scala 我的问题是: 如何在没有超级用户权限的情况下执行 Scala shell?

EDIT1:使用SCALA_HOMEPATH 调整后,我的环境中不再有SCALA_HOME

【问题讨论】:

    标签: linux scala path environment-variables superuser


    【解决方案1】:

    在我的 ubuntu 系统上(实际上是 lubuntu)我有以下内容。

    /usr/bin 中的主要可执行文件应该已经在您的$PATH 中。这是一个指向实际可执行文件的符号链接。

    0 lrwxrwxrwx 1 root root 26 Apr 13 01:24 /usr/bin/scala -> /usr/share/scala/bin/scala
    

    真正的scala 可执行文件是bash 脚本。

    8 -rwxr-xr-x 1 root root 6208 Apr 13 01:24 /usr/share/scala/bin/scala
    

    注意每个文件的权限。

    我没有在我的环境中设置SCALA_HOME,因为scala bash 脚本会通过自己的计算来解决这个问题。

    【讨论】:

    • 我正在使用薄荷糖。我的目标是从终端仅使用“scala”命令运行 scala shell。我如何实现它?
    • 我已经向您展示了我是如何实现它的。如果您的设置(链接、文件、权限)看起来像我的,那么问题就出在其他地方。如果是这种情况,那么我们可能没有足够的信息来帮助您解决问题。
    • lrwxrwxrwx 1 root root 23 Aug 26 20:58 scala -> /etc/alternatives/scala 这是 /usr/bin 里的那个 lrwxrwxrwx 1 root root 31 Aug 26 20:58 scala -> /usr/share/scala-2.11/bin/scala 这是 /etc/alternatives 里的 -rwxr-xr-x 1 root root 5783 Dec 22 2015 scala 这是原来的exe
    • 从您的主目录执行此命令:/etc/alternatives/scala 如果您获得 REPL,那么问题可能是符号链接之一。如果失败,则错误消息是追踪问题的第一条线索。
    • NoClassDefFoundError 但是sudo没问题 回到正题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-04
    • 2014-07-15
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多