红色5罐';在Cygwin上找不到Java

红色5罐';在Cygwin上找不到Java,cygwin,red5,Cygwin,Red5,我正在Cygwin上安装Red5服务器 我明白了 /usr/share/red5$ sh red5.sh Running on CYGWIN_NT-6.1-WOW64 Unable to locate Java. Please set JAVA_HOME environment variable. 但是,我也可以这样做: javac-version和getjavac1.7.0,所以我知道至少已经安装了它 我还可以进入emacs.bash\u配置文件,看到我在底部添加了以下内容: export

我正在Cygwin上安装Red5服务器

我明白了

/usr/share/red5$ sh red5.sh
Running on  CYGWIN_NT-6.1-WOW64
Unable to locate Java. Please set JAVA_HOME environment variable.
但是,我也可以这样做:
javac-version
和get
javac1.7.0
,所以我知道至少已经安装了它

我还可以进入emacs
.bash\u配置文件
,看到我在底部添加了以下内容:

export PS1='\w\$ '
export EMACS_HOME=~/emacs-22.3
export JAVA_HOME =/cydrive/c/Program\ Files/Java/jdk1.6.0_32
export PATH=$PATH:$EMACS_HOME/bin:$JAVA_HOME/bin
export PATH=$PATH:$EMACS_HOME/bin
那么缺少什么呢


我编辑了
.bash\u profile
如下:

export PS1='\w\$ '
export EMACS_HOME=~/emacs-22.3
export JAVA_HOME=/cydrive/c/Program\ Files/Java/jdk1.6.0_32/
export JAVA_HOME=$( cygpath -d "$JAVA_HOME" )
export PATH=$PATH:$EMACS_HOME/bin:$JAVA_HOME/bin
export PATH=$PATH:$EMACS_HOME/bin
我得到了这个错误

cygpath: cannot create short name of D:\cygwin\cydrive\c\Program Files\Java\jdk1.6.0_32\

export JAVA\u HOME=/cydrive/c/Program\Files/JAVA/jdk1.6.0\u 32/


我只是拼错了
cydrive
,本来应该是
cydrive

的,但我以前看到过Java在路径上有空格。如果使用此命令将JAVA_主路径从unix样式转换为DOS样式(没有空格),情况是否会变得更好
export JAVA_HOME=$(cygpath-d“$JAVA_HOME”)
,然后再次尝试运行red5.sh脚本?@Costa,您能详细说明一下吗?你的意思是用那一行替换
export JAVA_HOME
?如果是这样的话,我是否会丢失到jdk的文件路径?事实上,我在上面输入的命令需要在.bash_配置文件中已有的导出之后运行。我这么说是为了让你的考试更容易。如果它能工作,那么您要么就必须在现有的JAVA_HOME导出下添加命令,要么就修改导出以直接放置DOS样式的路径。@Costa因此,当我实现该命令时,会出现新的错误。我将更新我的问题新的错误与cygpath本身的工作方式有关,它与您原来的问题没有真正的关系。您可以再次将其从问题中删除。相反,让我们尝试手动输入DOS样式的路径。。。删除您添加的行,改为将已导出的内容更改为
export JAVA\u HOME=“C:\PROGRA~1\JAVA\JDK16~1.0\u 3”
。(您可以先通过执行
ls“C:\PROGRA~1\JAVA\JDK16~1.0_3”
来确认这实际上是正确的路径。它至少应该列出正确文件夹中的文件。)这也解释了
cygpath
无法正确转换它的原因: