Eclipse与JDK、JRE的关系

    xiaoxiao2022-07-02  122

    Eclipse与JDK、JRE的关系

    2018年03月19日 18:44:15 du_xian_sheng 阅读数:2125

    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

     

    Eclispe第一次启动要求用户必须安装jre,这是因为? Eclipse的运行依赖于jdk和jre。Eclipse也是java语言开发的,就像游戏‘我的世界’一样

    Eclispe第一次启动要求用户必须安装jre某个版本,是因为? 是因为一般eclise的开发是基于当下最新版本的java语言的,比如今年是2017年,那么我下载的eclispe Version: Neon.2 Release (4.6.2)就必须要求我jre是8版本的 不然无法启动。 而且你一旦安装好jre8(其实我是安装jdk的,因为jdk里附带有jre。单独的jre不好找),进入eclpse后,默认的项目运行环境就是jre8.当然它默认设置的编译环境也是jdk8

     

    设置jre和jdk jre有两个地方可以设置,一个在eclispe>window>preferences>java>instaled jre 一个是在你的项目中。项目右键>properties>libraris 不过最终其决定性作用的还是后者。前者是给eclispe设置几个的(需要选择一个默认的,如果项目没有确定的话,将使用这个默认的),后者是给项目设置具体使用哪个 jdk其实就是编译环境,只有一个地方设置,且起到决定所有项目的作用,即你写完代码,保存就开始执行编译,在eclispe>window>preferences>java>compiler 对于jre和jdk版本之间,要求尽量还是版本一致,不然容易出错

     

     

     

    创建一个项目 其实eclipse,不只是内置了jdk(compire),也内置了jre,而且有很多版本。 我不知道网上为啥说eclispe启动需要jre是因为eclispe内置没有jre,而写项目运行时候需要jre,所以才。。。 不知道是你们没有仔细看还是怎么回事。我的理解为什么eclispe需要jre原因在上上上一条和上上一条我总结的。

     

     

    如果jre与jdk不一致怎么办? 1、如果设置的compiler即jdk(1.8)>jre(1.5) 当你创建项目时候,选择的是jre1.5,会提示你 The default compiler compliance level for the current workspace is 1.8. The new project will use a project specific compiler compliance level of 1.5. 当前工作区的默认编译器为1.8。新项目将使用一个特定于项目的编译器1.5(没办法啊,因为你项目非要用1.5的jre,那人家只能给你单独配置一个jdk1.5的编译器去编译了)。 2、如果compiler(1.5)>jre(1.8) 比如我创建了个jre为1.8的项目,然后我去修改compiler即jdk的版本至1.5,则会提示 When selecting 1.5 compliance, make sure to have a compatible JRE installed and activated (currently 1.8) 当选择了1.5编译器(指compiler即jdk),确保有一个兼容的JRE 的运行环境(当前1.8)

    最新回复(0)