nohup: failed to run command `java': No such file or directory解决

 

程序里远程执行shell命令(nohup java -jar ...)的执行,后台日志报错如下:

nohup: failed to run command `java': No such file or directory

原因:一般来说这个报错说明服务器执行不了"java"这个命令

解决:

1、检查执行该shell的服务器有没有装jdk

2、检查执行该shell的服务器的环境变量有没有将JAVA_HOME/bin加入(目的是可以在linux任意位置执行java命令)

-----------------------------------------------------------------------------------------------------------------------------------------

坑的是:我检查了linux环境,java安装正确,环境变量也加了,把shell命令拿到远程服务器用户下任意目录执行也正常!!但是通过程序远程调用该shell命令还是报如上错误

无奈我在程序里执行 nohup java -jar ... 命令前,先执行了一把 source /etc/profile , 执行shell命令如下:

source /etc/profile; nohup java -jar ...

然后成功测试通过!!!

 

  • 30
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 25
    评论
### 回答1: 抱歉,看起来java文件不在你的目录中。这个错误信息提示说,系统找不到 `java` 命令。可能原因有以下几种: 1. Java 没有正确安装。你需要确保已经正确地安装了 Java,并且 `java` 命令在系统的 PATH 环境变量中。你可以通过在终端运行 `java -version` 命令来检查 Java 是否安装并配置正确。 2. Java 的安装位置不在 PATH 环境变量中。如果 Java 安装在非默认路径中,则需要手动将其添加到 PATH 环境变量中。 3. nohup 命令无法找到 Java。如果你正在使用 nohup 命令来运行 Java 应用程序,则需要确保 nohup 命令和 Java 命令都位于 PATH 环境变量中。 针对这个问题,你可以先检查 Java 是否正确安装并配置,如果是,则需要检查 PATH 环境变量是否正确配置。如果问题仍然存在,你可以尝试指定完整的 Java 安装路径来运行命令。 ### 回答2: 本问题提示出错了,是告诉您的Java路径错误或找不到Java这个命令。nohup 是一个 Linux命令,通过nohup命令运行的程序可以在你登出后继续运行,它运行的是一个后台进程。而当您输入nohup java xxx命令时,表示您想要运行一个Java程序,并且让它在后台一直运行,但是出现了“no such file or directory”的错误。 这是因为系统无法找到Java的安装路径与Java的二进制文件,所以我们需要在命令行中正确地设置Java的路径。一般来说,Java的路径是存储在 $JAVA_HOME 环境变量中,我们可以通过以下命令进行查看: $ echo $JAVA_HOME 如果这个命令返回空的结果,那么代表Java路径没有被设置,我们需要手动设置Java路径,假设Java的安装目录为 /usr/local/java,那么我们需要在终端执行以下command来设置: $ export JAVA_HOME=/usr/local/java $ export PATH=$JAVA_HOME/bin:$PATH 这时候我们再次执行nohup java xxx命令,就会发现错误提示不再出现了。请检查Java路径的正确性以及权限是否正确,输出 export 命令可以查看系统内所有设置好的环境变量。 ### 回答3: 错误提示“nohup: failed to run commandjava’: no such file or directory”表示执行nohup命令时,在当前的终端会话关闭后,不能找到java命令。这通常是因为系统缺少Java运行环境或者Java命令的路径未被正确添加到PATH环境变量中。 为了解决这个问题,首先要确保系统中已经安装了Java运行环境。可以通过在终端中输入java -version命令来检查Java是否已经正确安装,如果没有安装则需要下载并安装它。 如果Java已经安装,但是nohup命令仍报错“no such file or directory”,则需要将Java命令路径添加到PATH环境变量中。在终端中输入echo $PATH命令,可以查看当前系统中所有的环境变量路径。如果Java命令路径没有被列出来,可以通过编辑/etc/profile文件或者~/.bash_profile文件来将它添加到PATH环境变量中。在文件的末尾添加类似于export PATH=$PATH:/usr/local/java/bin这样的语句即可。添加完毕后,重启终端会话,再次执行nohup命令即可。 总之,nohup命令提示“no such file or directory”错误提示通常是由于系统缺少Java运行环境或者Java命令路径未被正确添加到PATH环境变量中所致,可以通过安装Java或者修改环境变量路径来解决这个问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值