Windows上的java和环境变量的问题

时间:2011-09-27 10:36:18

标签: java windows path playframework environment-variables

我有一个奇怪的问题。安装java jdk 6u25后,我在命令提示符下键入java测试了安装。一切正常,控制台按预期显示使用选项。这是大约3个星期前 - 我最近在我的机器上重新安装了Windows 7-现在我想开始使用play框架并按照教程进行操作。我使用play new获得了一个新应用,但因此无法使用play run

  

玩! 1.2.3,http://www.playframework.org

     

Ctrl + C停止

     

无法执行java可执行文件,请确保正确设置了JAVA_HOME环境变量。

有趣的是,在控制台中输入java仍会显示使用选项,并且eclipse或netbeans都没有抱怨丢失的jdk。然而,我检查了我的环境变量,并惊讶地发现:

根本没有对java的引用。

说真的,我不知道控制台,eclipse和netbeans是如何找到我的java的。作为第一个对策,我再次重新安装了java,希望安装程序可以正确设置路径。它没有。现在我想建议你:我应该创建JAVA_HOME变量吗?如果我这样做,jdk的更多版本是否会覆盖变量以指向新版本,还是每次都必须手动更改变量? eclipse和netbeans怎么样?我猜他们已经下载了他们的“自己的”jdk。如果我想在我的机器上更新java,它也会更新它们的版本吗?

更新: 我手动设置环境变量并重新启动电脑。现在一切正常,但我想知道什么是符号链接。您能否在评论中给我一个链接或简要解释一下?

3 个答案:

答案 0 :(得分:3)

Eclipse和netbeans使用不同的方式来查找java安装,而不是像play,ant,maven,gradle等命令行工具。

IDE可能会搜索您的注册表,猜测默认位置,甚至可以将JRE预打包与安装一起使用。

命令行工具通常依赖于JAVA_HOME变量。你必须手动设置。

答案 1 :(得分:3)

  

我应该只创建JAVA_HOME变量吗?

有几种工具使用该环境变量,因此我建议您创建它。

  

如果我这样做,jdk的更多版本是否会覆盖变量以指向新版本,还是每次都必须手动更改变量?

如果您将新的Java版本安装到同一文件夹中(或者如果您创建了符号链接),则为no。

  

eclipse和netbeans怎么样?我猜他们已经下载了他们的“自己的”jdk。如果我想在我的机器上更新java,它也会更新它们的版本吗?

这取决于JDK是否预先捆绑以及配置是如何完成的。我不能代表Netbeans,但在Eclipse中,您可以将其添加到eclipse.ini

-vm
C:/Java/jre/bin

请注意,这是bin文件夹的示例路径。如果您不在那里添加版本或使用符号链接(见上文),那么在安装新版本时您不必更新路径。

答案 2 :(得分:0)

你可能在C:\ windows或其他公共目录中有一个(较旧的?)java.exe。 确保您在命令行上获得的java是您认为的那个:

java -version