我如何设置我的Cygwin PATH来findjavac?
我有一个Windows 7系统,我已经安装了最新的Java编译器。 我也有最新的Cygwin。 我想从Cygwin的shell中使用Java编译器。 我编辑了Cygwin中的PATHvariables,如下所示:
export PATH=$PATH:"/cygdrive/C/Program\ Files/Java/jdk1.6.0_23/bin/"
我可以看到上述目录中的javac
二进制文件,但是当我尝试编译我的* .java文件时,我得到:
javac command not found
我在做这样的PATHvariables时做错了什么? 我还需要做点什么吗? 我是Java新手,不太熟悉cygwin。
当你用双引号将它写出来时,你不需要用\
export PATH=$PATH:"/cygdrive/C/Program Files/Java/jdk1.6.0_23/bin/"
当然这也是有效的:
export PATH=$PATH:/cygdrive/C/Program\ Files/Java/jdk1.6.0_23/bin/
Java二进制文件可能位于“程序文件”或“程序文件(x86)”之下:那些空格可能会影响行为。
为了正确设置envvariables ,我build议在开始之前收集一些信息:
- 打开DOS shell(键入cmd到“RUN”框)到C:\
- 键入“dir / x”并记下“Program Files *”文件夹的DOS名称(带〜)
Cygwinconfiguration:
在C:\ cygwin \ home \下,然后打开.bash_profile并添加以下两行(为了与实际的JDKpath相匹配,
export JAVA_HOME="/cygdrive/c/PROGRA~1/Java/jdk1.8.0_65" export PATH="$JAVA_HOME/bin:$PATH"
现在从Cygwin发布
javac -version
检查configuration是否成功。
如果您仍然发现正在使用默认错误的Java版本(1.7)而不是Java主目录,则只需更改PATHvariables的顺序即可在您的Windows目录之前设置JAVA_HOME \ bin PATHvariables,保存并重启cygwin。 testing一下,确保一切正常。 它不应该有任何不利影响,因为你想要自己的Java版本覆盖Windows自带的默认值。 祝你好运!
为了使@johanvdw更有用的评论:
如果你想确保你的javac文件path始终知道cygwin何时开始 ,你可以编辑你的.bash_profile
文件。 在这个例子中,你可以在文件的某处添加export PATH=$PATH:"/cygdrive/C/Program Files/Java/jdk1.6.0_23/bin/"
。
当Cygwin启动时,它将在PATH中search目录,并在这个目录中运行可执行文件。