无法访问 $PATH 中的文件

无法访问 $PATH 中的文件

这是我的/etc/paths

/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin

yuicompressor.jar我向中添加了一个文件/usr/local/bin。然后我运行:

sudo java -jar yuicompressor.jar

但它说

Unable to access jarfile yuicompressor.jar

我究竟做错了什么?

答案1

PATH 仅用于可执行文件。当您没有提供显式路径(例如 /usr/bin/java 或 ./java)时,shell(通常在 MacOSX 上为 bash)会使用它来查找可执行文件。

运行 java 后,java 就加载了,它需要找出东西在哪里。shell 已完成。那么,java 本身是否有任何环境变量可供检查,这可能会有所帮助?通常,您可以尝试 CLASSPATH。这将提供 jar 列表,以搜索可能不在 java 正常查找位置的类。

但在这种情况下,根据您的语法,我认为它不会有帮助。您正在告诉它一个 Jarfile 的特定路径。我只需明确指定 jar 的路径即可。可能使用脚本为您执行此操作,而不是全部输入。我看到类似以下内容:

#!/bin/bash

sudo java -jar /path/to/yuicompressor.jar

在你的未来。

相关内容