关于WIN7下使用javax.tools.ToolProvider类调用getSystemJavaCompiler的问题 尝试使用getSystemJavaCompiler()方法创建一个JavaCompiler对象。在XP环境下,代码能正常运行,而在WIN7下就不能创建该对象。Debug 下查看该对象值为NULL、这个方法在WIN7下需要特殊执行么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Files[] files1 = ...; // input for first compilation taskFiles[] files2 = ...; // input for second compilation taskJavaCompiler compiler = ToolProvider.getSystemJavaCompiler();StandardJavaFileManager fileManager = compiler.getStandardFileManager(null, null, null);Iterable<? extends JavaFileObject> compilationUnits1 =fileManager.getJavaFileObjectsFromFiles(Arrays.asList(files1));compiler.getTask(null, fileManager, null, null, null, compilationUnits1).call();Iterable<? extends JavaFileObject> compilationUnits2 =fileManager.getJavaFileObjects(files2); // use alternative method// reuse the same file manager to allow caching of jar filescompiler.getTask(null, fileManager, null, null, null, compilationUnits2).call();fileManager.close();http://www.jar114.com/jdk6/zh_CN/api/javax/tools/JavaCompiler.html 没有用啊、执行JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();后、compiler 永远是null getSystemJavaCompilerpublic static JavaCompiler getSystemJavaCompiler()Gets the Java™ programming language compiler provided with this platform. 返回:the compiler provided with this platform or null if no compiler is provided或许无法在当前操作系统中的环境变量找到吧 原来机子上有1.5 和 1.6 2个版本的JDK,现在卸载只剩一个。能使用了。谢谢哈~ Integer.class 和 Integer.TYPE,越想越糊涂,求高人指点 JAVA IO流传送数据限速 一道练习题提问,面向对象部分! 【救命】 我今天第一次上班,也是我第一次找到工作!!!!1 这个算法如何用java实现? 是支持《Thinking in java》还是支持《JAVA与模式》 JAVA調用UNIX命令有點問題,請高手指點(對不起,小弟只有10分了) 谁有java类库的完全文档呀? tell me java有哪些方法是用C/C++实现的呢 <? extends T> 和 <? super T>分别是什么意思?有什么不同?
Files[] files2 = ...; // input for second compilation taskJavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
StandardJavaFileManager fileManager = compiler.getStandardFileManager(null, null, null);Iterable<? extends JavaFileObject> compilationUnits1 =
fileManager.getJavaFileObjectsFromFiles(Arrays.asList(files1));
compiler.getTask(null, fileManager, null, null, null, compilationUnits1).call();Iterable<? extends JavaFileObject> compilationUnits2 =
fileManager.getJavaFileObjects(files2); // use alternative method
// reuse the same file manager to allow caching of jar files
compiler.getTask(null, fileManager, null, null, null, compilationUnits2).call();fileManager.close();
http://www.jar114.com/jdk6/zh_CN/api/javax/tools/JavaCompiler.html
执行
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();后、compiler 永远是null
public static JavaCompiler getSystemJavaCompiler()Gets the Java™ programming language compiler provided with this platform. 返回:
the compiler provided with this platform or null if no compiler is provided或许无法在当前操作系统中的环境变量找到吧
原来机子上有1.5 和 1.6 2个版本的JDK,现在卸载只剩一个。能使用了。谢谢哈~