发布网友
共1个回答
热心网友
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
测试代码...
import javax.tools.DiagnosticCollector;
import javax.tools.JavaCompiler;
import javax.tools.JavaFileObject;
import javax.tools.StandardJavaFileManager;
import javax.tools.ToolProvider;
public class Testmain {
public static void main(String[] arg) {
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
DiagnosticCollector<JavaFileObject> diagnostics = new DiagnosticCollector<JavaFileObject>();
StandardJavaFileManager fm = compiler.getStandardFileManager(diagnostics, null, null);
System.out.println(fm);
}
}
运行此代码出现下面异常
Exception in thread "main" java.lang.NullPointerException
at Testmain.main(Testmain.java:60)
进一步调试发现complier的值为null,但是查API发现JavaCopiler对象却是是这样得到的
本机JRE home为C:/Program Files/Java/jre6。
只要将JRE home改为jdk下面的jre问题就解决了。