这是我的/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
在你的未来。