如何设置我的Cygwin PATH来查找javac?

liv*_*hak 41 java cygwin path javac

我有一个Windows 7系统,我已经安装了最新的Java编译器.我也有最新的Cygwin.我想使用Cygwin的shell中的Java编译器.我在Cygwin中编辑了PATH变量,如下所示:

export PATH=$PATH:"/cygdrive/C/Program\ Files/Java/jdk1.6.0_23/bin/"
Run Code Online (Sandbox Code Playgroud)

我可以javac在上面的目录中看到二进制文件,但是当我尝试编译我的*.java文件时,我得到:

javac command not found
Run Code Online (Sandbox Code Playgroud)

我在设置PATH变量时做错了吗?我还需要做别的吗?我是Java的新手,对cygwin不是很熟悉.

lwe*_*ler 67

当你用双引号写它时,你不需要用空格来转义空格 \

export PATH=$PATH:"/cygdrive/C/Program Files/Java/jdk1.6.0_23/bin/"
Run Code Online (Sandbox Code Playgroud)

当然这也有效:

export PATH=$PATH:/cygdrive/C/Program\ Files/Java/jdk1.6.0_23/bin/
Run Code Online (Sandbox Code Playgroud)

  • 你可以将该命令添加到文件〜/ .bashrc中,然后在启动cygwin时它将始终加载. (6认同)
  • 是否有像Windows环境变量这样的永久性地方,我只需保存文件夹位置,而不是创建PATH变量?谢谢 ! (3认同)

小智 7

Java二进制文件可能位于"程序文件"或"程序文件(x86)"下:这些空格可能会影响行为.

为了正确设置env变量,我建议在开始之前收集一些信息:

  • 打开DOS shell(键入cmd into'RUN'框)转到C:\
  • 键入"dir/x"并记下"Program Files*"文件夹的DOS名称(带〜)

Cygwin配置:

在C:\ cygwin\home \下,然后打开.bash_profile并添加以下两行(方便自定义以匹配您的实际JDK路径)

export JAVA_HOME="/cygdrive/c/PROGRA~1/Java/jdk1.8.0_65"
export PATH="$JAVA_HOME/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)

现在从Cygwin发布

javac -version

检查配置是否成功.