我试图让Eclipse v3.5(Galileo)在我的计算机上重新运行 - 我之前运行它没有任何问题,但是 now 我一直收到这个错误:
必须提供Java运行时环境(JRE)或Java开发工具包(JDK)才能运行Eclipse . 搜索以下位置后未找到Java虚拟机:当前PATH中的C:\ eclipse \ jre \ javaw.exe javaw.exe
我刚刚完成了JDK和SDK的全新安装 .
我有Windows 7(x64) .
怎么了?我如何解决它?
我无法运行任何ipconfig / tracert /或ping .
30 回答
默认情况下,Eclipse会尝试使用默认的“
java.exe
”(您的PATH
引用的第一个)启动要记住的三件事:
"Installing" a JRE or a JDK可以像从另一台计算机上解压缩或复制一样简单:没有特殊的安装步骤,你可以拥有任意数量的不同JVM版本(1.4,5.0,6.0 ......),"installed"(复制)几乎在你的磁盘上的任何地方 .
我建议始终使用 lastest JRE 运行Eclipse(从latest hotspot evolutions中受益) . 您可以:
引用eclipse.ini中确切的JRE路径 .
Copy any JRE of your in your <eclipse>/jre目录 . 在这两种情况下,都没有
PATH
进行更新 .您将在Eclipse会话中引用的JVM并不总是用于启动Eclipse的JVM,因为:
你只需要一个JRE来启动Eclipse,但是一旦Eclipse启动,你应该为你的项目注册一个JDK(特别是Java源代码和调试目的,理论上也用于编译,但是Eclipse有自己的Java编译器)注意:你可以注册只是Eclipse中的JRE,因为它足以运行您的程序,但JDK将允许更多的操作 .
尽管Eclipse中默认注册的Java是用于启动会话的Java,但您可能希望注册较旧的SDK(包括非Sun版本),以便使用类似于JRE的JRE来运行/调试程序 . 实际上将用于 生产环境 .
2012年6月,jmbertucci评论:
2016年4月:Steve Mayne添加in the comments:
只需复制此文件:
到Eclipse文件夹
*注意仅针对Windows进行测试
关于仅设置
JAVA_HOME
的所有其他答案都不完全正确 . Eclipse does namely not consult the JAVA_HOME . 仔细查看错误消息:字面上说
PATH
,而不是JAVA_HOME
.右键单击我的电脑并选择属性(或按下Winkey Pause),转到高级选项卡,单击环境变量按钮,在底部的系统变量列表中选择
Path
(否, notClasspath
),单击编辑并添加;c:\path\to\jdk\bin
到最后的 Value .或者,如果不存在,您还可以添加
JAVA_HOME
环境变量并在PATH
中使用它 . 在同一个对话框中单击“新建”,然后添加JAVA_HOME
,其值为c:\path\to\jdk
. 然后,您可以将;%JAVA_HOME%\bin
添加到Path
设置的值的结尾 .从控制面板打开Windows的系统属性,然后搜索环境变量部分:
添加指向安装JDK的目录的JAVA_HOME条目(例如C:\ Program Files \ Java \ jre6)
找到Path条目并在结尾添加以下内容;%JAVA_HOME%\ bin
确定更改
重启eclipse,以便了解新环境
现在,大多数Java工具都可以通过使用JAVA_HOME环境变量或在Path环境变量中查找java.exe / javaw.exe来查找Java安装 .
如果你下载64位版本的Eclipse;它将寻找64位版本的JRE . 如果你下载32位版本的Eclipse;它将寻找32位版本的JRE
我所做的是安装32位和64位版本JRE . 您可以从SUN Oracle站点获取该信息 . JAVA站点似乎自动安装了32位版本的Java . 我猜这是因为网络浏览器 .
事实证明,我需要做的就是将_1781909改为:
做到了:)
我有64位的Windows 7,我有同样的问题与日食 . 为了让它工作,我不得不使用Internet Explorer(64位版本)来下载java . 这是让java安装64位版本的唯一方法 . 当我使用firefox安装java时,它会自动安装一个32位版本(如此愚蠢!) . Eclipse 64位版本不会检测java 32位版本 .
解决方案简而言之:
右键单击我的电脑,单击属性,然后选择高级系统设置,弹出一个系统属性窗口,在高级选项卡下,选择环境变量,弹出环境变量窗口,在系统变量部分下,查找
PATH
变量,并编辑 Value ,将它(版本; jre6,jre7等)更改为你正在使用的任何jre,例如我的:C:\Program Files\Java\jre7\bin
不要担心我也被这个错误和致命的毁了,当我得到它我是如此沮丧,即使我给予留下一个Android编程,但我得到它,只需首先复制此代码并粘贴在您的系统变量路径下......
现在从您的路径中复制"jre"文件夹,就像我在此路径下有"jre"一样
并将其粘贴到您的eclipse文件夹中意味着放置了您的eclipse.exe文件 . 就像我在这个位置设置了我的日食
所以在eclipse文件夹中粘贴“jre”文件夹 . 如果你有“jre6”然后将其重命名为“jre”....并运行你的日食,你将获得解决方案......
OTHER SOLUTION: 2
如果上述步骤无法解决问题,请按照以下步骤操作
从您的Java路径中复制文件夹"jre",如C:\ Program Files \ Java \ jre6 *等,并将其粘贴到您的eclipse目录中(您的eclipse可用于何处)
转到eclipse.ini文件,打开它 .
更改javaw.exe文件的目录,如
现在这次你将启动eclipse,它将搜索javaw.exe,因此它将搜索eclipse.ini中的路径,因为它现在位于同一文件夹中,因此,它将启动javaw.exe,它将开始工作 .
如果您仍然有任何疑问,可以再次询问,只需查看我的 Profiles 并查找我的电子邮件ID . 因为我喜欢堆栈溢出论坛,它让我成为程序员 . *
不要依赖于windows path变量,因为它几乎在每次更新时都会被更改 . 例如 . 一个chrome(64位机器上的32位)java更新用32位JVM替换系统范围的64位JVM . 另请注意,此条目必须是eclipse.ini中的最后一个,否则它不起作用,并且 - 如果另有说明 - JAVA_HOME变量不由eclipse.exe评估 .
即使你的JAVA_HOME和Path配置有效,他们也可能有这个问题,所以最简单的方法是在你的eclipse installtion文件夹中打开你的eclipse.ini
用你的jdk或jre的路径替换C:\ Program Files \ Java \ jdk1.7.0_71 \ bin \ javaw.exe
在
eclipse.ini
文件中,您需要更新VM的路径以指向计算机上安装javaw.exe
的相同位置 .编辑了我的eclipse.ini文件来更新新更新的JDK . 以前我有jdk1.7.0_09并且现在更新到jdk1.7.0_80并且eclipse抛出了这个错误 .
更新 eclipse.ini 后,
至
Eclipse运行正常 .
在eclipse文件夹中创建一个批处理文件并写入其中:
见http://wiki.eclipse.org/FAQ_How_do_I_run_Eclipse%3F
如果在环境变量中的PATH变量中添加C:\ Program Files \ Java \ jdk1.8.0_92 \ bin之后,eclipse给出了同样的错误
检查在eclipse文件夹中找到的eclipse配置设置文件,你必须在C:\ program中看到相同的jdk路径档
我希望它有所帮助 .
当我遇到这样的问题时,在我的情况下,我使用x86 Eclipse安装了x64 JDK JRE . 所以安装x86 JDK JRE解决了我的问题:)另外我在eclipse文件夹中创建了
jre
文件夹,并将bin
文件夹从我的本地路径C:\Program Files (x86)\Java\jre7
复制到..\eclipse\jre\
.64位操作系统 - >您需要:64位Java和64位Eclipse
32位操作系统 - >您需要:32位Java和32位Eclipse
如果您使用64位计算机中的默认更新更新您的Java版本(并且您有 32 bit browser ),则Java将安装32位版本 . 你应该找到64位java版本并安装它 .
我上周有一个同事正是这个问题 . 他通过安装x64版本的Eclipse和x64 JDK来修复它 .
编辑:他在安装必要的插件后重用了他的旧工作区,所以这应该不是什么大问题
有一种更简单的方法可以做到这一点 . 只需运行cmd x64 . 键入cmd x64到开始菜单中的搜索栏,你会发现它:)或者你应该设置程序文件的路径(x86)...例如C:\ Program Files(x86)\ Java \ jre6
只需在环境变量Put“;”中为Ex:C:\ Program Files \ Java \ jre5 \ bin添加JRE PATH在每条路径之间 . 然后单击eclipse.exe它将工作.....
你得到这个错误的原因是因为eclipse需要一个JRE来启动,它无法找到 . 它搜索的第一个位置是当前目录,然后是eclipse.ini文件,最后是系统路径 . 因此,如果它无法通过这三个地方中的任何一个找到正确的jvm(位版本不同),它就会瘫痪
建议的方法是编辑eclipse.ini文件,并通过在文件中包含以下行来告诉eclipse在哪里查找vm / jre:
-vm
[java.exe的路径](通常在"C:\Program Files\Java\jre7\bin"下)
附:要编辑eclipse.ini,您可能需要移动它,编辑然后将其粘贴回来
来源: - 维基
首先感谢YouYou的解决方案!我试过YouYou的回答(https://stackoverflow.com/a/14464653/801919) . 最初,它对我不起作用 . 以下是我需要采取的步骤:
最初,我的新机器上没有安装Java . 所以,我必须安装它(从以下网址下载:http://java.com/en/download/manual.jsp) .
我正在运行64位操作系统 . 但是,在下载时,我收到的消息可以帮助我选择下载哪个版本的Java:
Choose the 32-bit download to use with a 32-bit browser.
因此,我下载了32位版本 .然后,我按照https://stackoverflow.com/a/14464653/801919中提到的程序,希望得到解决方案 .
我还有其他一些错误:
Java was started but returned exit code=13
然后,我安装了64位版本的Java .
从该版本复制
javaw.exe
....... Eclipse开始工作了! Yaay!
那么这个答案是那些尝试了所有其他人仍然没有运气的人,可能是 Android studio 或 Eclipse 我通常在其他一切都失败时这样做 .
找到您的Android sdk文件夹并使用文本编辑器打开 android.bat 文件
你会在文件的开头找到一些这样的命令,
set java_exe=
call lib\find_java.bat
if not defined java_exe goto :EOF
set java_exe=
< the path to your java.exe file(can be found inside your jdk folder/bin directory) >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
将其替换为set
swt_path=
< the path to your respective swt.jar file, for x86 it is at sdk\tools\lib\x86 and for x64 at sdk\tools\lib\x86_64 >保存并关闭文件,现在你很高兴..
尝试将JAVA_HOME设置为正确的文件夹 . Google用于在Windows中设置环境变量 .
我也遇到过这个问题 . 我的情况如下:
在文字中:
我发现它们的注册表值类型
Path
是不同的,所以我通过以下命令检查路径是否有效:因此,我通过以下命令(Setx)重置本地(当前用户)环境:
但是,在当前进程中,它无法将这些更改传播到其他正在运行的进程 .
但是,如果在注册表编辑器中直接修改用户环境变量,
详情请见How to propagate environment variables to the system
在这里,我给出了一个powershell脚本来做到这一点:
Setx setx [/ s [/ u [] [/ p []]]] [/ m]
选中Window> Preferences> Java> Installed JREs . 确保那里有东西;如果没有,请添加一个 .
你最近更新了JDK吗?
JDK不会在默认路径中安装JVM .
除非你需要像ant一样运行外部工具,否则非JDK就足以让Eclipse运行 . 安装这样一个JVM的最简单方法是转到http://java.com并让它安装它想要安装的任何东西 .
然后再次双击Eclipse二进制文件 .
将JAVA_HOME变量和广告JAVA_HOME / bin设置为evnrionment路径变量 .
我有同样的问题(Windows 7 x64,64位JDK,32位Eclipse),我找到了2个解决方案:
安装64位版本的Eclipse(通过单击下载页面上的"Development Builds"选项卡找到 . )
安装32位版本的JDK .
我有同样的问题 . 对我来说,解决它的简单方法是将JRE和eclipse安装为x86或x64 . 当他们的比特类型不匹配时,eclipse找不到它 . 因此,如果卸载并重新安装以使它们匹配并不是什么大问题,我会这样做 .
我最终安装了:Java Runtime Environment 1.7.0.3(64位)和Eclipse Indigo(3.7)(64位)
然后就行了 .
当我只复制javaw时,发生了第二个错误,没有java.dll文件,当我复制它时,eclipse没有启动,我做的是我将整个jdk文件夹复制到eclipse文件夹并将id重命名为jre . 问题解决了 .