在Windows中, JAVA_HOME必须指向JDK安装文件夹(以便JAVA_HOME/bin包含所有可执行文件,而JAVA_HOME/libs包含所有默认jar库)。 如果我下载Sun的JDK软件包并将其安装在Linux中,则它是相同的过程。 不过,我需要使用Kubuntu的默认OpenJDK包。 问题是所有的可执行文件都放在/usr/bin 。 但是这些jar子放在/usr/share/java 。 由于它们不在相同的JAVA_HOME文件夹下,所以我在使用Grails时遇到了麻烦,也许会遇到其他需要标准Java结构的应用程序。 如果我使用: JAVA_HOME=/usr 所有想要使用任何Java可执行文件的应用程序和脚本都可以使用标准过程call $JAVA_HOME/bin/executable 。 然而,由于jar子是在不同的地方,他们并不总是被发现(例如:在grails我得到ClassDefNotFound native2ascii )。 另一方面,如果我使用: JAVA_HOME=/usr/share/java 没有一个Java可执行文件( java , javac等)可以find。 那么,在基于Debian的Linux中处理JAVA_HOMEvariables的正确方法是什么呢? 感谢你的帮助,路易斯