Eclipse与JDK、JRE的关系

article/2025/10/31 7:18:14

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)


http://chatgpt.dhexx.cn/article/aLk8fQsk.shtml

相关文章

JDK、JRE、JVM三者关系

jdk、jre、jvm三者有什么关系? JDK ☁️ JDK:Java开发工具包; ☁️ JDK中包含了以下内容: ⚡️ Java虚拟机:用于运行Java程序; ⚡️ 核心类库:核心类库中是已经编写好的Java代码&#xff0…

JRE和JDK

JRE和JDK JRE(Java运行环境)Java Runtime Environment 包括Java虚拟机(JVM Java VirtualMachine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。 JRE 核心类库 JVM JDK(Java开发工具包)Java Development…

JDK,JRE,JVM三者间的关系,以及JDK、JRE的主要结构

一、JDK,JRE是什么? 1.JDK 是提供给 Java 开发人员使用的,其中包含了 java 的开发工具,也包括了 JRE。所以安装了JDK,就不用在单独安装JRE了。 2.JRE是包括 Java 虚拟机 (JVM J ava V irtual M achine) 和 Java 程…

【jdk与jre 的关系】

**jdk与jre 的关系** jdk中包含jre和核心开发工具, jre中包含jvm和核心开发类库 jdk中包含jre和核心开发工具, jre中包含jvm和核心开发类库 注: JVM是指Java虚拟机。

JDK、JRE和JVM三者之间关系

JDK、JRE和JVM三者之间关系 很多程序员已经写了很长一段时间java了,依然不明白JDK,JRE,JVM的区别。今天个人总结一下它们三者的关系、区别。 JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了…

JDK与JRE的安装与配置

这两天为了这个JAVA的编译环境JDK和JRE的配置可花了不少心思,曾还一度把电脑的注册表给误删了,导致电脑重装了系统,这是血的教训。我买了一本学习JAVA的书,看了里面的视频终于把编译环境给配置好了,其实非常简单。 开始…

jdk与jre

jdk与jre jdk1.8目录jdk1.8下的bin目录jdk1.8下的jre目录jdk1.8下的lib目录 jdk1.8目录 安装好的JDK路径下目录如下:有bin、db、include、jre、lib、COPYRIGHT、javafx-src.zip、LICENSE、README.html、release、src.zip、THIRDPARTYLICENSEREADME.txt、THIRDPARTY…

【jdk和jre】

JRE和JDK JRE (Java Runtime Environment)\n是Java程序的运行时环境,包含JVM和运行时所需要的核心类库。 我们想要运行一个已有的Java程序, 那么只需安装JRE即可。 JDK (Java Development Kit)\n是Java程序开发工具包,包含JRE和开发人员使用…

jdk没有jre的解决方法

jdk11以上没有jre的解决方法 小白篇 安装的jdk没有jre(JDK11以上版本)解决方法方法一:步骤1:步骤2: 注意:方法二:步骤1:步骤2: 值得注意的是:1.2. 安装的jdk没有jre(JDK11以上版本) 我猜你安装…

jdk、jre、jvm分别是什么?有什么联系?

目录 介绍 JDK和JRE JRE和JVM 介绍 JDK:是Java Development Kit的缩写,是Java的开发工具包,JDK是整个JAVA的核心。它提供了编译、运行Java程序所需的各种工具和资源。有了它,Java开发者就可以编译和运行自己的Java程序。它包含…

JDK、JRE、JVM 之间的关系

总结: 关系:JDK包含JRE JRE包含JVM JDK (Java Development Kit)----Java开发工具包,用于Java程序的开发。 JRE (Java Runtime Environment)----Java运行时环境,只能运行.class文件,不能编译。 JVM (Java Virtual M…

JDK、JRE和JVM之间的关系

作为一个Java开发者,只会用Java,却不知什么是JDK、JRE和JVM是什么,以及他们之间有什么联系。本文总结了JDK,JRE,JVM三者的关系与区别。 JDK、JRE和JVM之间的关系 一、JDK二、JRE三、JVM四、三者的联系五、三者的区别六…

Java基础 — JDK和JRE的区别和环境变量配置

1、JDK和JRE区别 JDK:java 程序开发工具包,包括编译器(javac.exe)、开发工具(javadoc.exe、jar.exe、keytool.exe、jconsole.exe)和更多的类库(如tools.jar)等。JRE:jav…

linux df和du命令

df(disk free)命令用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计。Linux du (英文全拼:disk usage)命令用于显示目录或文件的大小。 加上-h以可读性更强的方式显示文件大小 由此可见,一个是对于…

Linux命令详解之du命令

功能:可以用于查看每个文件的磁盘用量,目录则取总用量 格式:du 【选项】【文件或目录】 主要使用参数: -a 显示所有文件的大小 -h 以人类可读的方式查看…

十进制小数转二进制

十进制小数转换成二进制小数采用"乘2取整,顺序排列"法。以0.875为例,具体做法是: 一、取整运算 1、用2乘十进制小数,可以得到积:2*0.8751.75; 2、将积的整数部分1取出,再用2乘余下…

小数的二进制和十进制之间的转换

0.125(十进制) 依次 2 取小数点左边第一个数,将取得的数按顺序排列在小数点右侧,例子如下: 0.125 2 0.25 0.25 2 0.5 0.5 2 1.0 0.125(十进制)——> 0.001(二进制) 0.001(二进制…

二进制十进制小数转换

方法: 十进制的小数转为二进制,主要是小数部分乘以2,取整数部分一次从左往右放在小数点后,直至小数点后为0(就是为整数时) eg:0.125 二进制的小数转换为十进制主要是乘以2的负次方&#xff0…

二进制小数转换

文章转自: https://www.cnblogs.com/xkfz007/articles/2590472.html 一、二进制数转换成十进制数 由二进制数转换成十进制数的基本做法是,把二进制数首先写成加权系数展开式,然后按十进制加法规则求和。这种做法称为"按权相加"…

带小数十进制转二进制--图解

我们常见的是纯整数十进制转二进制,而对小数部分的转换不常提及。以下帮助大家梳理 ( x x x . y y y ) 10 x x x 为 整 数 部 分 , y y y 为 小 数 部 分 (xxx.yyy)_{10}\\ xxx为整数部分,yyy为小数部分 (xxx.yyy)10​xxx为整数部分&#xf…