【发布时间】:2016-08-26 21:07:36
【问题描述】:
我已经安装了 cygwin 并想用它来运行 java 应用程序。
当我跑步时 java -cp {pathToMyJar} 主类 在 Windows 控制台中,它按预期工作。
当我在 cygwin 中运行相同的命令时 - 它也可以工作。
当我运行打算在 cygwin 中运行的内容时 java -cp {/cygdrive/pathToMyJar} mainClass - 失败,找不到类。
为什么我想以 cygwin 方式运行它?因为许多应用程序都有计算类路径的 sh 脚本。如果您通过 cygwin 运行这些脚本,则会导致类路径具有 /cygdrive/ 前缀。然后你启动 java 应用程序,它失败了,因为 java 不理解 cygwin 的类路径前缀。
我读到我可以强制 cygwin 删除该前缀:https://unix.stackexchange.com/questions/44677/how-do-i-get-rid-of-cygwins-cygdrive-prefix-in-all-paths
好的,但有一个问题是:
如果应用程序无法理解 cygwin 的默认路径 - 它打算如何工作? 使用 cygwin 的正确方法是什么?我很确定这个问题应该有一些“对 cygwin 友好”的解决方案。
【问题讨论】: