2

我正在尝试使用 cygwin shell 编译一些文件。

我试图编译的 java 文件是 C:\Users\Programs\x.java

对于 windows 命令提示符

C:\用户\程序>javac x.java

没有错误。

对于 Cygwin 外壳

$ javac /c​​ygdrive/c/Users/Programs/x.java

错误:

javac:找不到文件:\cygdrive\c\Users\Programs\x.java

为什么我在 cygwin shell 中出现错误,尽管它在 windows 命令提示符下运行

4

2 回答 2

4

javac是 Windows 应用程序。它没有任何线索/cygdrive。始终牢记这一点并传递有效的 Windows 路径。

所以使用javac 'c:/Users/Programs/x.java'orjavac c\:/Users/Programs/x.java 另外,就像在大多数 Unix shell 中一样,如果你需要使用它,\ 必须被转义。

于 2012-11-14T22:19:19.573 回答
0

I think that the problem is that "cygdrive" is a pseudo-device that is implemented in a Cygwin-specific library. If the executable you are running has not been linked against that library (and the Oracle Java executables have not!) it won't correctly resolve the "/cygdrive" path component.

于 2012-11-14T22:21:48.700 回答