我正在使用 JDK6 从 UI 编译输入 src 并立即运行。
但问题是,默认情况下我的应用程序使用的是 jre 而不是 jdk,所以:
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
总是返回空值;
而且我注意到在每台服务器上也安装了 JDK6,所以我写这个是为了解决这个问题:
System.setProperty("java.home", "\opt\jdk-i386-60");
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
// Dynamic compile and run app
但它没有用,可能java环境不会立即更改为我刚刚设置的那个地方,它仍然得到了null对象。
所以,我的问题是如何将 jre 环境切换到 jdk 并使其立即生效,我们可以获得 JavaCompiler 对象?
谢谢。