无法在Linux的路径中运行jar可执行文件

问题描述 投票:0回答:1

我按照repository上的说明安装了clojure-lsp,并将广口瓶放入/usr/bin

我的问题是,当我运行Error: Unable to access jarfile clojure-lsp时收到错误clojure-lsp,但是当我使用sudo运行它时似乎可以工作。

这是我对可执行文件的权限:

-rwxr-xr-x 1 root root 20822380 Oct 15 11:05 /usr/bin/clojure-lsp

我在做什么错?

java linux jar archlinux
1个回答
1
投票

我10分钟前在我的Arch Linux机器上安装了clojure-lsp jar。已将其安装为root sudo -s,并且在我第一次运行它之前忘记从root环境退出。有效!之后,我认识到自己的失败并退出了root用户。然后,我再次运行它,并以“无法访问/tmp/lsp.out权限被拒绝”失败。显而易见的解决方案是该可执行文件已在/ tmp中创建了具有根权限的文件。我删除了此文件,然后重新启动,一切顺利。

这与您的观察结果不同,但也许它为您提供了一个线索。我不知道您是第一次开始安装的条件,也不知道您的操作系统设置,因此很难提供帮助。

也许您已经启用了内核安全性(例如apparmor,...)。 ??

clojure-lsp既是脚本又是jar文件。内部启动Java。此Java在路径$ 0 / closure-lsp(在特殊情况下为/ usr / bin / closure-lsp)中打开jar文件。我将以某种方式解释所报告的错误,即Java无法访问该文件。也许Java无法访问/ usr / bin。但这将非常奇怪。

您是否从bash /其他shell运行closure-lsp。您是否在路径中安装了Java? (java -version应该起作用)

© www.soinside.com 2019 - 2024. All rights reserved.