区分Eclipse中的两种JRE

今天一个CownewStudio的使用者通过QQ问我他的Eclipse安装CownewStudio以后在eclipse中可以看到studio,但是运行的时候提示类加载错误。因为CownewStudio目前的版本只支持JDK5,所以我询问他Eclipse使用的是不是1.4的JRE,但是他确认它用的就是1.5的。

后来经过实验,我确认还是JRE版本的问题,他就把他的Eclipse截图发给了我,以证明他用的是JDK1.5,但是我发现他发过来的图片工程编译器配置对话框的。哈哈,我终于明白了,让他把Eclipse的配置详细信息(“帮助”=》“关于Eclipse”=》“配置详细信息”)发过来,果然:

-vm

c:\programe\jdk1.4.2\jre\bin\javaw.exe

原来他装了多个版本的JDK。我要他把JDK1.5目录下的JRE目录拷贝到eclipse安装目录下,然后重启Eclipse,一切工作正常了。

其实这是很多刚刚接触Eclipse、甚至用了好长时间Eclipse的开发人员经常犯的错,也就是把Eclipse运行时的JRE与工作空间中项目所用的JRE版本弄混乱。

Eclipse也是一个普通的Java程序,因此必须有一个JRE做为运行环境。如果你的机器上没有安装任何JRE(或者JDK,本文不做二者的区分),那么点击eclipse.exe就会报错说找不到JRE。此时可以安装一个JRE、或者直接把JRE目录拷贝到eclipse安装目录下。

在Eclipse的每个项目中可以为项目指定不同的JRE版本,比如A项目使用JDK1.4编译,B项目使用JDK1.5编译。这个JDK版本是和Eclipse运行JRE没有直接关系的。

项目的JDK版本是很容易修改的,那么任何指定Eclipse启动所用的JRE呢?

Eclipse启动的时候找JRE的顺序是:如果eclipse.ini中配置了-vm参数,那么则使用这个参数指定的JRE;否则就去查看eclipse安装目录下是否有JRE文件夹,如果有的话就使用这个JRE;否则的话就去系统中查找安装的JRE,如果还找不到的话就报错。

所以如果不想卸载掉其他的JDK的话,可以有两种方式:(1)直接把要使用的JRE文件夹拷贝到Eclipse目录下,这是懒人常用的方法(2)修改eclipse.ini文件,添加-vm参数,指定要运行的虚拟机的地址,使用 -vm 命令行自变量例子:-vm c:\jre\bin\javaw.exe

时间: 2024-12-17 17:22:00

区分Eclipse中的两种JRE的相关文章

利用正则和charCodeAt() 区分中英文字符的两种方法

利用正则和charcodeat() 区分中英文字符的两种方法 <div id="demo"> <fieldset>  <legend>请在如下表单中输入字符后点击表单外区域</legend>  <label for="regexp">通过正则表达式判断:<input id="regexp" name="regexp" /></label>  &

IIS5中的两种服务器端网页重定向方法

iis|服务器|网页|iis|服务器 IIS5中的两种服务器端网页重定向方法      在IIS5中提供了两种服务器端网页重定向(或者说转向)的方法, 一个是Server.Transfer方法, 另外一个是Server.Execute方法. 说它们是服务器端重定向,是因为在不同页面之间的转向是直接在服务器端 完成的, 客户端只能看到结果,而不能看到转向的过程. 这同以往我们在IIS4使用的 Response.Redirect 方法是不同的.      以前, 当我们需要从一个页面转向到另外一个页

select-link中这样两种写法有什么区别?

问题描述 link中这样两种写法有什么区别? var query = from x in table select x; foreach (var item in x) { ... } foreach (var item in table) { ... } 解决方案 两种写法一样,而且性能也一样

面向对象-javascript中这两种对象属性有什么区别?

问题描述 javascript中这两种对象属性有什么区别? 第一种:function aaa(){} aaa.a=111; 第二种:function bbb(){} bbb.prototype.b=111; 我在csdn问过第一种,大部分人说属于面向对象的范畴. 但是我看了几篇js面向对象博客,都是用第二种原型的方式: 所以想知道这两种给对象添加属性的行为,在实际应用中有什么区别? 解决方案 如果把aaa,bbb作为方法来看,这两者没有区别. 如果把aaa,bbb作为类来看,那有区别. aaa.

工程中采用两种框架两种编码格式出现乱码问题 求助

问题描述 工程中采用两种框架两种编码格式出现乱码问题 求助 工程中用到了两种框架 两种编码格式 出现乱码 不知道怎么处理

java-如何在LinkedList对象中加入两种比较器?

问题描述 如何在LinkedList对象中加入两种比较器? 用LinkedList对象list存储扑克牌并排序,写了一个牌值比较器RankComparator和 一个花色比较器SuitComparator, 还有写了枚举的CardRank和CardSuit,并对不同的 花色和牌值都赋了不同的值,再用Collection.sort(list,new RankComparator())进行牌值的排序,现在我想再加一个花色的排序(就是list中既对牌值排序,又对花色排序),请问该怎么写呢?谢谢各位大虾

android中这两种方法有什么区别和联系的问题?????

问题描述 android中这两种方法有什么区别和联系的问题????? startService(Intent)/bindService(Intent):来启动一个Service 这两种方法有什么区别和联系 解决方案 详细参考

Crystal Report在.net中的两种显示方式

原文:Crystal Report在.net中的两种显示方式 Crystal Report在.net中的两种显示方式 编写人:CC阿爸   2014-7-29   近来在完成深圳一公司的项目,对方对各方面要求相当严格,一不满意就拒绝签收,为了对修正水晶报表显示及导出的一些小问题,无赖之下,仔细了解一下水晶报表的操作方法,逼苦我们这些苦逼的程序,虽说在以前的项目中,也常使用crystal report 来制作报表.并且针对web与winform 都各有不同的地方.   但总的来讲:显示水晶报表目前

区分中英文字符的两种方法(正则和charCodeAt())_javascript技巧

Mr.Think的个人博客 @专注前端技术,热爱PHP,崇尚简单生活. 返回文章页:区分中英文字符的两种方法: 正则和charCodeAt()方法@Mr.Think 请在如下表单中输入字符后点击表单外区域 通过正则表达式判断: 通过charCodeAt()方法判断: