- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我知道这里有很多“无法访问 jarfile”的问题,但我确实觉得这有足够的不同,值得单独讨论。
我正在编写演练,该演练的一部分涉及安装 Cygwin 和运行 .jar 文件。
问题是这个 .jar 文件需要从多个目录调用,而不是让我的读者每次需要运行它时都必须输入 .jar 的完整路径,我希望他们只需要对Cygwin进行简单配置后,进入.jar文件命令。
我已经尝试将 PATH 添加到 ~/.bashrc 并且还尝试添加 CLASSPATH,但都没有成功。
每次我调用 java -jar file.jar
我都会得到 Error: Unable to access jarfile file.jar
我应该怎么做才能解决这个问题?
[编辑]
我和我的姐夫谈过,他对 Linux 有所了解,他建议我创建一个包装器来执行 jar,我进行了快速搜索,但找不到任何简单的东西。
有什么建议吗?
最佳答案
Cygwin 已经提供了一种在 UNIX (POSIX) 风格路径和 Windows (MS-DOS) 风格路径之间进行转换的方法,称为“cygpath”。
尝试:
java -jar `cygpath -w ./foo/bar/file.jar command file.1 file.2`
注意:这些是围绕 cygpath 调用的反引号。
使用 cygpath 无需编写您自己的 bash 脚本来传递内容,并且 jar 文件可以位于您计算机上的任何位置。
例如,以与 bash 环境无关的方式使用 Google 的 Closure 编译器制作一个压缩 JavaScript 代码的 bash 脚本:
#!/bin/bash
# Script directory
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
# Path to Closure Compiler
COMPILER=$HOME/archive/closure-javascript.jar
# Java requires converting paths from UNIX to Windows under Cygwin
case "$(uname -s)" in
CYGWIN*) COMPILER=$(cygpath -w $COMPILER)
esac
# Java must be in the PATH
COMMAND="java -jar $COMPILER"
# Allow overriding default filename from the command line
cd $SCRIPT_DIR
rm *.min.js > /dev/null 2>&1
# Minify all files in the directory
for js in *.js; do
$COMMAND --js=$js --js_output_file=$(basename $js .js).min.js
done
此脚本应在 Cygwin 和 Linux 下正确执行。
关于java - cygwin下无法访问jarfile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16634211/
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topi
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topi
我正在编写一个 Java 程序,并且有一个 launch4j 启动器。我的 JAR 存储在 users %APPDATA% 文件夹下,但是当我尝试在 launch4j 中使用它时,出现以下错误: 这是
我有一个名为 test.jar 的 jar 文件,我使用同一文件夹中的批处理脚本运行它。这是批处理代码: java -jar test.jar pause jar 本身没有问题,我可以很好地运行它。但
我正在尝试编写如下函数: public Map getTestXml(JarFile jarFile) { Map result = Maps.newHashMap(); Enumer
我在 windows(10) 启动时通过批处理文件启动我的应用程序。这就是我的批处理文件中的内容 - start javaw -jar javaApplication.jar` 当 Windows 启
这个问题已经有答案了: What causes "Unable to access jarfile" error? (40 个回答) 已关闭 4 年前。 我正在尝试从我的 java 程序运行 jar
我在播放 jar 文件中的声音时遇到问题。这是我用于播放声音的代码: public class Sounds { public static void playClickSound()
我需要验证我的应用程序中的签名 jar。我发现我可以通过阅读所有内容来做到这一点,如下所示: public boolean verifyJar(String filePath) { try {
使用 JarFile 类,我可以验证 jar 文件是否已签名。但是,根据我对 API 文档和 jarsigner 文档的阅读,我没有看到验证签名者的方法。换句话说,我可以验证 jar 自签名后没有被修
好吧,这是我的问题,也是我要问你的问题...... 我有一个游戏需要从 jar 文件中加载图像(所有图像都像这样打包到 jar 文件中):我首先解压了 jar 文件: 然后它去: 然后在每个文件夹中,
我制作了一个 JavaFX 应用程序,它运行一个 jarfile 并获取它的(错误)输入流,然后用它重新绘制标签。为了做到这一点,(由于循环)我实现了 Platform.runLater(Runnab
我正在尝试使用 SignApk 签署一个 APK ,但我不断收到此错误: Error: Unable to access jarfile signapk.jar 我已将我的 JDK 目录和我的 Sig
我正在为 Java 9 开发一个使用模块分层的启动器库。为了在层中添加模块,我需要将模块名称(作为字符串)传递给父级的配置。 ModuleLayer Javadoc 在类文档的末尾有一个示例。 现在,
我已经下载了一个在 windows XP 上运行的程序。根据说明,打开包含调用 .jar 文件的命令的 .bat 文件就足够了。然而程序打不开。在 friend 的计算机上,该程序确实打开了。 我已经
我已经下载了 RoboMind ( http://robomind.net ) 并尝试让它在 Linux Mint12 上运行知道 Min12 不是最新版本,我仍然希望它运行... 当我使用包中的 .
我是 Spring Boot 微服务和 Docker 的新手。 微服务项目中的dockerfile: docker 构建: docker 图像: 运行镜像时报错:Unable to access ja
在 Ant 文档中 jar command ,它表示需要 destfile 属性。 但是底部有一个使用 jarfile 属性而不使用 destfile 属性的示例。另外,我还拥有一位同事提供的功能代码
Docker 镜像已构建,但当我想运行它时,它显示以下错误: Error: Unable to access jarfile rest-service-1.0.jar 我的操作系统是 Ubuntu 1
我有两个 jar 文件,我想使用 crontab 运行它们。假设有一个 A 和 B jarfile。当我想为 A jarfile 运行 crontab 时,crontab 工作正常。但是当我想运行 B
我是一名优秀的程序员,十分优秀!