【问题标题】:How to run java command as root?如何以root身份运行java命令?
【发布时间】:2018-11-29 23:41:02
【问题描述】:

当我尝试以 root 身份运行 java 命令时,我收到臭名昭著的错误“无法找到或加载主类...”。

我尝试了this solution,但没有成功。

which java 返回/usr/bin/java 所以我尝试在 ~/.bashrc 处追加

export PATH=$PATH:/usr/bin/java

或

export PATH=$PATH:/usr/bin,再次...没有成功。

ps:我想以 root 身份运行,因为我使用套接字创建了一个简单的服务器,并且我想用一个 android 应用程序 ping 它。问题是我的权限被拒绝了。

【问题讨论】:

  • 当您将您的 uid 更改为 root 时,检查 $CLASSPATH 是否仍然设置。
  • 其实可能是因为程序不匹配root的目录。也许我也必须以 root 身份编译。
  • 等待——“找不到或加载主类”——java 本身正在工作,但它找不到你告诉它运行的类。您需要指定类路径。 java -cp . com.foo.MyMainClass(或者如果需要,将 . 替换为完全限定的路径)
  • 请edit您的问题显示您要运行的类存储在哪里(哪个目录),您正在运行什么特定的java命令,以及您运行它时的工作目录是什么。
  • 您永远不应该以 root 用户身份运行 Java。这会引发许多安全问题,因为 root 可以在服务器上执行任何操作。您的进程无需以 root 身份运行即可打开套接字。

标签: java bash root


【解决方案1】:

也许这会有所帮助:

sudo java -cp $CLASSPATH com.blubber.Bla

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-01
    • 1970-01-01
    • 2022-11-25
    相关资源
    最近更新 更多