热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

eclipseInstalledJREs配置引出的问题

本人在学习java6新特性的时候,发现了一个由eclipse InstalledJREs配置引出的问题。代码如下importjavax.tools.DiagnosticCollec

本人在学习java6新特性的时候,发现了一个由 eclipse  Installed JREs 配置引出的问题。代码如下

import javax.tools.DiagnosticCollector; import javax.tools.JavaCompiler; import javax.tools.JavaFileObject; import javax.tools.StandardJavaFileManager; import javax.tools.ToolProvider; public class CompilerTest { public static void main(String[] args) { JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); DiagnosticCollector diagnostics = new DiagnosticCollector(); StandardJavaFileManager fm = compiler.getStandardFileManager(diagnostics, null, null); System.out.println(fm); } }

 

运行此代码出现下面异常

Exception in thread “main” java.lang.NullPointerException at COMPILER.CompilerTest.main(CompilerTest.java:15)

进一步调试发现complier的值为null,但是查API发现JavaCopiler对象却是是这样得到的,令人费解啊。

于是我把这个小程序发给我同事,在他的机器上运行良好,经过一段时间的研究,我发现了同事机器上Installed JREs

选项的JRE home为C:/Program Files/Java/jdk1.6.0_21/jre,而本机JRE home为C:/Program Files/Java/jre6。

只要将JRE home改为jdk下面的jre问题就解决了。

于是上路找寻答案,发现

Eclipse中的Installed JREs

Windows -> Preferences -> Java -> Installed JREs
 
Eclipse中可以添加JDK和JRE来DEBUG和RUN Applications , 但其中还是有点区别的
 
区别是: 使用JRE无法DEBUG JAVA API, 而选择JDK则可以
 
选择JRE DEBUG JAVA API时,Eclipse会报Unknown Source, 即使你已经可以查看JAVA API Source  

 

 


推荐阅读
author-avatar
静风疾水
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有