我正在尝试使用cygwin shell编译一些文件。
我试图编译的java文件是C:\ Users \ Programs \ x.java对于Windows命令提示符
C:\ Users \ Programs> javac x.java
没有错误。
对于Cygwin shell
$ javac /cygdrive/c/Users/Programs/x.java
错误:
javac:找不到文件:\ cygdrive \ c \ Users \ Programs \ x.java
为什么我在cygwin shell中遇到错误,尽管它在Windows命令提示符下运行
答案 0 :(得分:4)
javac
是Windows应用程序。它对/cygdrive
没有任何线索。始终牢记并传递有效的Windows路径。
因此请使用javac 'c:/Users/Programs/x.java'
或javac c\:/Users/Programs/x.java
此外,与大多数Unix shell一样,如果需要使用它,必须进行转义。
答案 1 :(得分:0)
我认为问题在于" cygdrive"是一个伪设备,在Cygwin特定的库中实现。如果您正在运行的可执行文件尚未链接到该库(并且Oracle Java可执行文件没有!),则无法正确解析" / cygdrive"路径组件。