Eclipse – 没有Java(JRE)/(JDK)…没有虚拟机
我试图让Eclipse v3.5(伽利略)在我的电脑上重新运行 – 我已经运行它没有任何问题,但现在我不断收到此错误:
Java运行时环境(JRE)或Java开发工具包(JDK)必须可用才能运行Eclipse。 search以下位置后未findJava虚拟机:C:\ eclipse \ jre \ javaw.exe当前PATH中的javaw.exe
我刚刚完成了JDK和SDK的全新安装。
我有Windows 7(x64)。
这是怎么回事? 我如何解决它?
我无法运行任何ipconfig / tracert /或ping。
Eclipse将默认尝试启动默认的“ java.exe
”( PATH
引用的第一个)
三件事要记住:
- “安装” JRE或JDK可以像从另一台计算机上解压缩或复制一样简单:没有特殊的安装步骤,并且您可以拥有任意数量的不同JVM版本(1.4,5.0,6.0 …) ,“安装”(复制)在磁盘上的任何地方。
- 我会build议总是运行Eclipse 最新的JRE可能(从最新的热点演变中受益)。 您可以:
- 在eclipse.ini中引用确切的JREpath。
- 复制你的<eclipse> / jre目录中的任何JRE 。 在这两种情况下,都没有更新的
PATH
。
- 您在 Eclipse会话中引用的JVM 并不总是用于启动Eclipse的JVM,因为:
- 你只需要一个JRE来启动Eclipse,但是一旦Eclipse启动,你应该为你的项目注册一个JDK(尤其是Java源代码和debugging目的,理论上也是编译的,但是Eclipse有它自己的Java编译器)注意:你可以注册Eclipse中的一个JRE,因为它足以运行你的程序,但是JDK再次允许更多的操作。
- 即使Eclipse中的默认注册Java是用于启动会话的Java,但您可能希望注册一个较旧的SDK(包括非Sun),以使用类似于JRE的JRE运行/debugging程序实际上被用于生产。
2012年6月, jmbertucci评论:
我正在运行Windows 7 64位,我已经安装了32位JRE。 我下载了64位的Eclipse,查找64位的JRE。 因为我没有64位JRE,所以抛出错误,这是有道理的。
我去了Java手动安装页面(这不是直接可以访问的),并安装了64位版本。 请参阅“ 所有操作系统的Java下载 ”。 这就是我所需要的。
2016年4月: 史蒂夫梅恩补充说 :
我不得不编辑
eclipse.ini
文件来引用正确的Javapath – 当eclipse.ini
有一个值时,Eclipse根本不使用环境PATH
。
只需复制这个文件:
c:/Program Files/Java/jre(5,6,7..any version)/bin/javaw.exe
到Eclipse文件夹
*注意只针对Windows进行testing
关于只 JAVA_HOME
所有其他答案都不完全正确。 Eclipse的确不参考JAVA_HOME
。 仔细查看错误消息:
…在你当前的path中
它实际上是说PATH
,而不是JAVA_HOME
。
右键单击我的电脑,然后select属性 (或按Winkey + 暂停 ),转到高级选项卡,单击环境variablesbutton,在系统variables列表中的底部selectPath
(不, 不是 Classpath
),单击编辑并添加;c:\path\to\jdk\bin
到值的末尾。
另外,如果不存在,也可以添加JAVA_HOME
环境variables,并在PATH
使用它。 在同一个对话框中点击New,并添加JAVA_HOME
,其值为c:\path\to\jdk
。 然后,您可以将;%JAVA_HOME%\bin
添加到Path
设置值的末尾。
从控制面板打开Windows的系统属性,并search环境variables部分:
- 添加一个指向JDK安装目录的JAVA_HOME条目(例如C:\ Program Files \ Java \ jre6)
- findpath条目并在结尾添加以下内容:%JAVA_HOME%\ bin
- 确定更改
- 重新启动Eclipse,以便了解新的环境
大多数Java工具现在可以通过使用JAVA_HOME环境variables或通过在Path环境variables中查找java.exe / javaw.exe来查找Java安装。
如果你下载了64位版本的Eclipse; 它会寻找64位版本的JRE。 如果你下载的是32位版本的Eclipse; 它会查找32位版本的JRE
我所做的就是安装JRE的32位和64位版本。 您可以从SUN Oracle站点获取。 JAVA网站似乎自动安装Java的32位版本。 我想这是因为networking浏览器。
事实certificate,我所需要做的就是将“path”改为:
“C:\ Windows \ system32; C:\ Windows; C:\ Windows \ System32 \ Wbem; C:\ Program Files(x86)\ Java; C:\ Program Files(x86)\ Java \ jdk1.6.0_14 \ bin “
这样做:)
我有Windows 7的64位,和我有同样的问题与日食。 为了得到它的工作,我不得不使用Internet Explorer(64位版本)来下载Java。 这是让java安装64位版本的唯一方法。 当我使用firefox来安装java时,它会自动安装一个32位版本(所以白痴!)。 Eclipse 64位版本不会检测到java 32位版本。
解决scheme简而言之:
右键点击我的电脑,点击属性,然后高级系统设置,popup一个系统属性窗口,在高级选项卡下select环境variables,popup环境variables窗口,在系统variables部分下findPATH
variables,然后编辑值,将其更改(版本; jre6,jre7等)到任何你正在使用的,例如我的: C:\Program Files\Java\jre7\bin
不要担心,我也被这个错误和致命的破坏,当我得到它,我是如此沮丧,即使我给了离开一个android编程,但我知道了,只需首先复制此代码并粘贴到您的系统variables在path下…
C:\ Program Files; C:\ Winnt; C:\ Winnt \ System32; C:\ Program Files \ Java \ jre6 \ bin \ javaw.exe
现在从你的path复制“jre” 文件夹 ,就像我在这条path下有“jre”一样
C:\Program Files\Java
并将其粘贴到您的eclipse文件夹意味着您的eclipse.exe文件放置。 就像我在这个位置设置了我的日食一样
F:\Softwares\LANGUAGES SOFTEARE\Android Setup\eclipse
所以在eclipse文件夹里面粘贴“jre”文件夹。 如果你有“jre6”,那么将其重命名为“jre”….并运行你的蚀,你将得到解决scheme…
//<<<<<<<<<<<<<<----------------------------->>>>>>>>>>>>>>>>>>>
其他解决scheme:2
如果问题无法解决上述步骤,请按照下列步骤
- 从你的Javapath(如C:\ Program Files \ Java \ jre6 *等)拷贝文件夹“jre”,并将其粘贴到你的eclipse目录中(你的eclipse的位置在哪里)
- 转到eclipse.ini文件,打开它。
- 改变你的javaw.exe文件的目录
-vmF:\ Softwares \ LANGUAGES SOFTEARE \ Android Setup \ eclipse Indigo版本32位\ jre \ bin / javaw.exe
现在当你启动eclipse的时候它会searchjavaw.exe,所以它会searcheclipse.ini中的path,因为它现在在同一个文件夹中,所以它将启动javaw.exe,它将开始工作。
如果您仍然有任何查询,你可以再问一遍,只要去我的个人资料,找出我的电子邮件ID。 因为我爱堆栈溢出论坛,它使我成为一名程序员。*
在你的eclipse.ini
文件中,你需要更新VM的path来指向你的机器上安装javaw.exe
的相同位置。
不要依赖windowspathvariables,因为几乎每次更新都会改变它。 例如,一个chrome(64位机器上的32位)java更新将32位JVMreplace为全系统的64位JVM。 还要注意,这个入口必须是eclipse.ini中的最后一个,否则它不起作用,而且 – 另外说明 – JAVA_HOMEvariables不被eclipse.exe评估。
即使你的JAVA_HOME和Pathconfiguration有效,他们可能有这个问题,所以最简单的方法是在你的eclipse installtion文件夹中打开你的eclipse.ini
-vm
C:\ Program Files \ Java \ jdk1.7.0_71 \ bin \ javaw.exe
用你的jdk或jre的pathreplaceC:\ Program Files \ Java \ jdk1.7.0_71 \ bin \ javaw.exe
编辑我的eclipse.ini文件来更新新更新的JDK。 以前我有jdk1.7.0_09,现在更新到jdk1.7.0_80和eclipse扔这个错误。
Java运行时环境(JRE)或Java开发工具包(JDK)必须可用才能运行Eclipse。 search以下位置后未findJava虚拟机:C:/ Program Files / Java / jdk1.7.0_09 / bin / javaw
更新eclipse.ini之后,
-vm C:/Program Files/Java/jdk1.7.0_09/bin/javaw
至
-vm C:/Program Files/Java/jdk1.7.0_80/bin/javaw
Eclipse工作正常。
在eclipse文件夹中创build一个batch file并写入:
eclipse -vm C:\Sun\SDK\jdk\jre\bin\javaw.exe
当我遇到这样的问题时,在我的情况下,我使用x86 Eclipse安装了x64 JDK + JRE。 所以安装x86 JDK + JRE解决了我的问题:)我还在eclipse文件夹中创build了jre
文件夹,并将bin
文件夹从本地pathC:\Program Files (x86)\Java\jre7
到..\eclipse\jre\
。
- 64位操作系统 – >您需要:64位Java和64位Eclipse
- 32位操作系统 – >您需要:32位Java和32位Eclipse
如果您在64位计算机上使用默认更新来更新Java版本(并且您有32位浏览器 ),则Java将安装32位版本。 你应该find64位的Java版本并安装它。
上周我有一位同事有这个确切的问题。 他通过安装Eclipse的x64版本和x64 JDK来修复它。
编辑:他安装必要的插件后重用他的旧工作区,所以不应该是一个问题
有一个更简单的方法来做到这一点。 只需运行cmd x64。 在开始菜单中键入cmd x64来search栏,你会发现它:)或者,你应该设置程序文件(x86)的path…例如C:\ Program Files(x86)\ Java \ jre6
只需在环境variablesPut“;”中添加Ex:C:\ Program Files \ Java \ jre5 \ bin的JRE PATH; 在每条path之间。 然后点击eclipse.exe它会工作…..
你得到这个错误的原因是因为eclipse需要一个JRE来启动,它找不到。 它search的第一个地方是当前目录,然后是eclipse.ini文件,最后是系统path。 所以如果通过这三个地方中的任何一个找不到正确的jvm(位版本是不同的),那它就是垃圾箱
推荐的方法是编辑eclipse.ini文件并通过在文件中包含以下行来告诉eclipse在哪里查找vm / jre:
-vm
[通往你的java.exe的path](通常在“C:\ Program Files \ Java \ jre7 \ bin”下)
PS要编辑eclipse.ini,您可能需要移动它,编辑并粘贴回来
来源: – 维基
首先感谢YouYou的解决scheme! 我试过YouYou( https://stackoverflow.com/a/14464653/801919 )的答案。 最初,它不适合我。 以下是我需要采取的步骤:
- 最初,我的新机器上没有安装Java。 所以,我不得不安装(从http://java.com/en/download/manual.jsp下载)。;
- 我正在运行64位操作系统。 但是,在下载时,我收到了一条消息,可以帮助我select要下载哪个版本的Java:
Choose the 32-bit download to use with a 32-bit browser.
因此,我下载了32位版本。 - 然后,我按照https://stackoverflow.com/a/14464653/801919中提到的过程,希望得到解决scheme。;
- 我得到了一些其他的错误:
Java was started but returned exit code=13
- 然后,我安装了64位版本的Java。
- 从该版本复制
javaw.exe
。
… Eclipse开始工作了! Yaay!
那么这个答案是那些谁尝试了所有他人还没有运气,可能这是Android工作室或Eclipse
我通常这样做时,一切都失败了。
- find你的Android sdk文件夹,并用文本编辑器打开android.bat文件
- 你会在文件的开头find这样的一些命令,
set java_exe=
call lib\find_java.bat
if not defined java_exe goto :EOF
-
改变他们
set java_exe=
< 你的java.exe文件的path(可以在你的jdk文件夹/ bin目录下find) > -
find线路
rem Set SWT.Jar path based on current architecture (x86 or x86_64) for /f "delims=" %%a in ('"%java_exe%" -jar lib\archquery.jar') do set swt_path=lib\%%a
- 将其replace为set
swt_path=
< 相应swt.jar文件的path,对于x86,位于sdk \ tools \ lib \ x86和x64位于sdk \ tools \ lib \ x86_64 > - 保存并closures文件,现在你很好去..
如果在环境variables的PATHvariables中添加了C:\ Program Files \ Java \ jdk1.8.0_92 \ bin,eclipse给出了相同的错误
检查在eclipse文件夹中find的eclipseconfiguration设置文件,你必须在C:\ program Files中看到相同的jdkpath
我希望它有帮助。
尝试将您的JAVA_HOME设置为正确的文件夹。 Google用于在Windows中设置环境variables。
检查窗口>首选项> Java>已安装的JRE。 确保那里有东西; 如果没有,请添加一个。
你最近更新了你的JDK吗?
JDK不在默认path中安装JVM。
除非需要使用外部工具才能像Ant一样运行,否则非JDK足以让Eclipse运行。 安装这种JVM最简单的方法是去http://java.com ,让它安装任何想要安装。
然后再次双击Eclipse二进制文件。
将JAVA_HOMEvariables和广告JAVA_HOME / bin设置为evnrionmentpathvariables。
我有同样的问题(Windows 7 64位,64位JDK,32位Eclipse),我发现了两个解决scheme:
- 安装64位版本的Eclipse(通过单击下载页面上的“Development Builds”选项卡find)。
- 安装JDK的32位版本。
我有同样的问题。 简单的方法,我来解决它是安装JRE和eclipse为x86或x64。 当他们的位types不匹配时,eclipse找不到它。 所以,如果为了使它们匹配而卸载并重新安装并不是什么大问题,我会这样做。
我最终安装了:Java运行时环境1.7.0.3(64位)和Eclipse Indigo(3.7)(64位)
然后,它只是工作。
当我只复制javaw,第二个错误发生,没有一个java.dll文件,当我也复制它时,eclipse没有启动,我所做的是我复制整个jdk文件夹到eclipse文件夹,并将id重命名为jre。 问题解决了。
一个问题是Eclipse-64bit版本和我们的Java安装是32位版本之间的冲突。 这不是很容易解决,因为Java安装页面没有给出64位的选项 – 它假定32位和下载并安装32位版本。 要解决这个问题,请按照以下步骤操作:
- 通过转到Java SE运行时环境7下载64位版本(此链接使我们可以select下载64位版本的Java)。 下载并安装这个。
- 现在,试图安装Eclipse仍然会抛出一个错误。 因此,我们从
C:/program files/Java/
复制jre7
文件夹,并将其复制到我们的Eclipse安装文件夹中。 - 现在,我们把它重命名为
jre
。
安装Eclipse。
–launcher.appendVmargs -vm C:\ Program Files \ Java \ jdk1.7.0_79 \ jre \ bin \ javaw.exe -vmargs