为啥我安装了jdk1.7,但是eclipse的属性里的Java>>Compiler里面最高只能选到1.6

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥我安装了jdk1.7,但是eclipse的属性里的Java>>Compiler里面最高只能选到1.6相关的知识,希望对你有一定的参考价值。

如题

eclipse的版本限制,你换一个高版本的eclipse就可以了。

    Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,但是目前亦有人通过外挂程式使其作为其他计算机语言比如C++和Python的开发工具。

    Eclipse本身只是一个框架平台,但是众多外挂程式的支持使得Eclipse拥有其他功能相对固定的IDE软体很难具有的灵活性。

    许多软体开发商以Eclipse为框架开发自己的IDE。Eclipse最初由IBM公司开发,2001年11月贡献给开源社区,现在它由非营利软体供应商联盟Eclipse基金会(Eclipse Foundation)管理。

    基于 Eclipse 的应用程序的突出例子是 IBM 的 WebSphere Studio Workbench,它构成了 IBM Java 开发工具系列的基础。例如,WebSphere Studio Application Developer 添加了对 JSP、servlet、EJB、XML、Web 服务和数据库访问的支持。

参考技术A 说明你的eclipse版本太低了,不支持这么高版本的编译 参考技术B 好像是 Eclipse 3.7.2+ 才支持吧,它的最主要的新特性就是支持7.
现在已经出 Java 8 的开发人员体验版本,不知道 Eclipse 是不是正在开发支持 Java 8 的编译器。
参考技术C eclipse的版本限制,你换一个高版本的eclipse就可以了。本回答被提问者和网友采纳 参考技术D 你的环境变量没有改成1.7的路径,改过之后就好了

为啥Eclipse需要JDK,而Myeclipse不需要

1、首先说明的是,eclipse人家需要jre,而不需要jdk,人家内置的有。你只要在你的电脑上安装一个jre就行。至于jdk,它内置的有
2、eclise也不要求你jdk或者jre配置环境变量,毕竟友不用notepad写代码,dos编译执行
3、myeclise之所以不需你安装jdk或者是jre,要是应为它均有内置


关于eclipse里配置的jdk与tomcat里的版本
如果你eclipse配置使用了1.8的jdk,即编译用1.8的java
但是你tomcat里配置的jre确实1.7的
那么当你给项目不熟项目的时候,他就会报错,提示你--你用高版本的java(jdk)编写并编译的,我版本低执行不了


下边是eclipse在不同情况下,对jdk或者jre不同的处理

简析eclipse启动过程
双击eclipse.exe
加载配置一些信息
寻找javaw.exe、jvm.dll
这里分几种情况讨论寻找过程
1.安装了jdk+jre,没有配置环境变量(jre安装目录为"D:\Program Files\Java\jre7\")
首先在exlipse.exe所在目录的寻找是否有.\jre\bin
若没有这个目录
然后遍历系统环境变量path目录
在这个目录找到了"C:\Windows\System32\javaw.exe"
接着查找jvm虚拟机
以javaw.exe为当前工作目录,在javaw.exe下找有没有
.\j9vm
..\jre\bin\j9vm\
.\client
..\jre\bin\client\
.\server
..\jre\bin\server\
.\classic
..\jre\bin\classic\
.\jrockit
..\jre\bin\jrockit\
如果这些没有找到,则查注册表
HKLM\Software\JavaSoft\Java Runtime Environment
读取版本信息,读完之后
读该版本下RuntimeLib的值,然后查找有没有这个目录
最终找到了D:\Program Files\Java\jre7\bin\client\jvm.dll
以这个jvm.dll所在目录为准,返回两层确定jre的目录为D:\Program Files\Java\jre7\
再查找jre目录下有没有.\lib\i386这个目录,成功之后开始加载eclipse启动需要的jar文件(一般以org.eclipse开头)
2.安装了jdk+jre,path为jdk的bin目录(这里配置为"D:\Program Files\Java\jdk1.7.0_65\bin\")
首先在exlipse.exe所在目录的寻找是否有.\jre\bin
没有这个目录
然后遍历系统环境变量path目录
在这个目录找到了"D:\Program Files\Java\jdk1.7.0_65\bin\javaw.exe"
接着查找jvm虚拟机
以javaw.exe为当前工作目录,在javaw.exe下找有没有
.\j9vm
..\jre\bin\j9vm\
.\client
..\jre\bin\client\
查找到有D:\Program Files\Java\jdk1.7.0_65\jre\bin\client\这个目录
查找该目录是否有jvm.dll
最终找到D:\Program Files\Java\jdk1.7.0_65\jre\bin\client\jvm.dll
以这个jvm.dll所在目录为准,返回两层确定jre的目录为D:\Program Files\Java\jdk1.7.0_65\jre
再查找jre目录下有没有.\lib\i386这个目录,成功之后开始加载eclipse启动需要的jar文件(一般以org.eclipse开头)
eclipse3.1\plugins\org.eclipse.jdt.source_3.1.0\src\org.eclipse.jdt.core_3.1.0\src.zip|org\eclipse\jdt\internal\compiler
3.安装了jdk,没有安装jre,没有配置环境变量
首先在exlipse.exe所在目录的寻找是否有.\jre\bin
没有这个目录
然后遍历系统环境变量path目录
没有找到javaw.exe报错
4.只安装了jre
情况同1,eclipse会读取注册表的值来寻找jre的目录
问:那么用Eclipse开发需不需要安装jdk?如果不需要,那java文件时如何编译成class的?
不需要,eclipse的JDT里自带编译器,源程序在eclipse3.1\plugins\org.eclipse.jdt.source_3.1.0\src\org.eclipse.jdt.core_3.1.0\src.zip|org\eclipse\jdt\internal\compiler目录下(注意自己的版本号)
问:"C:\Windows\System32\"为什么会有javaw.exe这个文件?
安装jre的时候安装程序复制了4个文件到"C:\Windows\System32\"目录,分别是Java.exe、javaw.exe、javaws.exe和WindowsAccessBridge.dll.也就是说用java -version命令和java [class文件名]验证jdk的path环境变量并不靠谱,用javac 命令才是最准确的

问:查找jre目录下有没有.\lib\i386这个目录的作用

确定使用的jre是32位的还是64位的,64位的Eclipse不能用32位的jre

 
































































以上是关于为啥我安装了jdk1.7,但是eclipse的属性里的Java>>Compiler里面最高只能选到1.6的主要内容,如果未能解决你的问题,请参考以下文章

java环境变量配置完了javac为啥不对呢

eclipse中jdk版本问题

卸载jdk后,eclipse打不开

jdk1.6,jdk1.7共存

eclipse报jvm terminated.exitcode=2异常解决办法

为啥我的JDK环境变量安装好了 ,但是eclipse还是运行不了?