我最近改变了我的路径,所以我可以在Head First Java书中继续学习,之前我有过Eclipse。现在,当我再次尝试进入Eclipse时,它将无法打开,因为它说它无法在我的目录中找到要使用的JRE或JDK。我已经移动了JDK文件。我已经下载了jdk1.8.0_60。那么我怎样才能让Eclipse再次打开?
答案 0 :(得分:52)
Eclipse没有查阅
JAVA_HOME
变量
您应该在文件eclipse.ini
中指定Eclipse应该在哪里找到您的JDK。具体来说,以下参数(请注意,ini文件中有2个单独的行):
-vm
C:\Java\JDK\1.8\bin\javaw.exe
或者你的javaw.exe恰好在哪里。
注意: ini
文件的格式非常特别;请务必咨询https://wiki.eclipse.org/Eclipse.ini以确保您完全正确。
答案 1 :(得分:20)
Eclipse文件夹有一个初始化文件,eclipse在启动时使用/双击它命名为eclipse.ini。在eclipse.ini文件中添加以下行。 vm定义了我们希望eclipse使用的J VM 的路径。
-vm
C:\Program Files\Java\jdk1.8\bin\javaw.exe
确保您已将这些行分别添加到以下行
上方--launcher.appendVmargs
-vmargs
答案 2 :(得分:8)
转到System Properties > Advanced > Enviroment Variables
并查看System variables
JAVA_HOME
变量尽管Eclipse没有查阅JAVA_HOME
变量,但设置它仍然是一个好主意。有关详细信息,请参阅How do I run Eclipse?。
如果您尚未在JAVA_HOME
列表中创建和/或看不到System variables
,请执行以下操作:
New...
Variable name
,请输入JAVA_HOME
完全 Variable value
,这可能会有所不同,具体取决于您的计算机和Java的位数。
C:\Program Files\Java\jdk1.8.0_60
C:\Program Files\Java\jdk1.8.0_60
如果您已创建和/或看到C:\Program Files (x86)\Java\jdk1.8.0_60
,请执行以下操作:
JAVA_HOME
下的行
System variables
JAVA_HOME
,请根据java和您的计算机位将其更改为上面#3中所述的内容。重复:
Edit...
Variable value
C:\Program Files\Java\jdk1.8.0_60
C:\Program Files\Java\jdk1.8.0_60
变量C:\Program Files (x86)\Java\jdk1.8.0_60
下方的行PATH
System variables
PATH
Edit...
或 New
,具体取决于计算机和java的位数(请参阅上文^)。C:\Program Files (x86)\Java\jdk1.8.0_60
并再次点击C:\Program Files\Java\jdk1.8.0_60
。Enter
或 New
,具体取决于计算机和java的位数(请参见上文^)。C:\Program Files (x86)\Java\jdk1.8.0_60\jre
并在所有相关窗口上按C:\Program Files\Java\jdk1.8.0_60\jre
Enter
文本框(或类似内容)中,将光标一直拖到最后OK
),则添加分号Variable value
或 ;
C:\Program Files (x86)\Java\jdk1.8.0_60
)C:\Program Files\Java\jdk1.8.0_60
或 ;
C:\Program Files (x86)\Java\jdk1.8.0_60\jre
C:\Program Files\Java\jdk1.8.0_60\jre
文件并将其复制粘贴到同一目录中(应命名为eclipse.ini
)eclipse.ini
重命名为eclipse(1).ini
以防万一出错eclipse.ini
重命名为eclipse.ini.old
打开新重命名的eclipse(1).ini
并用以下内容替换所有内容:
eclipse.ini
eclipse.ini
可能已被弃用,因此可能无效。 如果eclipse仍无法启动,请执行以下操作:
-startup
plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.100.v20110502
-product
org.eclipse.epp.package.java.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vm
C:\Program Files\Java\jdk1.8.0_60\bin\javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx1024m
XXMaxPermSize
重命名为eclipse.ini
eclipse.ini.old
尝试将您的eclipse和java更新到最新版本。 8u60(eclipse.ini
)不是java的最新版本。有时,最新版本的java不适用于旧版本的eclipse,反之亦然。否则,如果您仍然遇到问题,请发表评论。您也可以尝试重新安装Java。
答案 3 :(得分:1)
我正在使用Windows 8.1环境。我最近在安装Eclipse后运行第一个java程序时遇到了同样的问题。 我在d:\ java上的d驱动器上安装了java。 但Eclipse正在查看默认安装c:\ programfiles \ java。 我做了以下事情:
修改了我的eclipse.ini文件,并在打开后添加了以下内容:
-vm
d:\java\jdk1.8.0_161\bin
在创建java程序时,我必须取消选择默认构建路径,然后选择d:\ java。
在此之后,该程序运行良好,让hello world工作。
答案 4 :(得分:1)
有OS,JDK和Eclipse bitity的有效组合。就我而言,我在64位OS上使用64位JDK和32位Eclipse。将JDK降级为32位后,Eclipse开始工作。
请使用以下组合之一。
32位操作系统,32位JDK,32位Eclipse(仅32位)
64位操作系统,32位JDK,32位Eclipse
64位操作系统,64位JDK,64位Eclipse(仅64位)
答案 5 :(得分:0)
对我来说,没有人工作过。我将现有的eclipse.ini
与新的-XX:+UseParallelGC
进行了比较,并开始删除选项并测试eclipse是否有效。
防止eclipse启动的唯一选择是protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException
{
response.setContentType("text/html");
PrintWriter out=response.getWriter();
String name=request.getParameter("name");
String file=request.getParameter("file");
Session session=factory.openSession();
session.beginTransaction();
File f=new File(file);
byte[] imageData=new byte[(int)file.length()];
try
{
FileInputStream fileInputStream = new FileInputStream(f);
fileInputStream.read(imageData);
fileInputStream.close();
}
catch (FileNotFoundException e) {e.printStackTrace();}
catch (IOException e) {e.printStackTrace();}
ENtity image=new ENtity();
image.setImageName(name);
image.setData(imageData);
session.save(image);
session.getTransaction().commit();
}
,所以我删除了它并发表了声音!
答案 6 :(得分:0)
我已通过在环境变量中添加或更改变量来解决此问题。 转到Win7->我的电脑->属性->高级系统设置->环境变量
祝你好运