myeclipse与Java_为啥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

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

e5447d53b06cb4104e64ccee1de033aa.png

50d053222c030f9fde81638e2adb2de4.png

设置jre和jdk

jre有两个地方可以设置,一个在eclispe>window>preferences>java>instaled jre

一个是在你的项目中。项目右键>properties>libraris

不过最终其决定性作用的还是后者。前者是给eclispe设置几个的(需要选择一个默认的,如果项目没有确定的话,将使用这个默认的),后者是给项目设置具体使用哪个

jdk其实就是编译环境,只有一个地方设置,且起到决定所有项目的作用,即你写完代码,保存就开始执行编译,在eclispe>window>preferences>java>compiler

对于jre和jdk版本之间,要求尽量还是版本一致,不然容易出错

e5447d53b06cb4104e64ccee1de033aa.png

9e27a47317b3bf3ec71b39a8b50eccd4.png

50d053222c030f9fde81638e2adb2de4.png

创建一个项目

其实eclipse,不只是内置了jdk(compire),也内置了jre,而且有很多版本。

我不知道网上为啥说eclispe启动需要jre是因为eclispe内置没有jre,而写项目运行时候需要jre,所以才。。。

不知道是你们没有仔细看还是怎么回事。我的理解为什么eclispe需要jre原因在上上上一条和上上一条我总结的。

e25bfb22bf9176270756cff05fef110b.png

如果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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值