- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 JDK6 编译来自 UI 的输入 src 并立即运行。
但问题是默认情况下我的应用程序使用的是 jre 而不是 jdk,所以:
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
始终返回 null;
而且我注意到每台服务器上都安装了 JDK6,所以我写这个希望解决这个问题:
System.setProperty("java.home", "\opt\jdk-i386-60");
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
// Dynamic compile and run app
但是没有用,也许java环境不会立即改变到我刚刚设置的地方,它仍然得到空对象。
那么,我的问题是如何将jre环境切换到jdk并使其立即生效,我们可以获取JavaCompiler对象?
谢谢。
最佳答案
不要尝试设置java.home
!通过命令行开关设置它通常会导致很多麻烦(找不到库,...)。通过 setProperty()
设置它通常不会产生任何影响。
相反,如果您想使用特定的 Java 安装来执行应用程序,只需使用其 java
可执行文件来启动您的应用程序:
/opt/jdk-i386-60/bin/java -jar myApp.jar
关于java - 使用JDK6动态编译src,切换到JDK环境后,ToolProvider.getSystemJavaCompiler()仍然得到null;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5907451/
我目前正在尝试在运行时编译和执行代码。在我的 IDE (Netbeans) 中,一切都运行得很好,但是当我将代码导出为 .jar 文件时,ToolProvider.getSystemJavaCompi
我正在使用 JDK6 编译来自 UI 的输入 src 并立即运行。 但问题是默认情况下我的应用程序使用的是 jre 而不是 jdk,所以: JavaCompiler compiler = ToolPr
我阅读了有关此问题的所有帖子,但没有解决方案适合我,我总是 null。 我使用 JRE 并将 tools.jar 放在 lib 目录中,将其添加到构建路径中,但是当我想跳转到声明时,Eclipse 想
我在 Eclipse 中的项目正在运行 WITH SYSTEM JRE 9。当我尝试将 Java 主页设置为 JDK 9 以获取系统编译器时,我得到了 null。 System.setProperty
我正在尝试使用 JavaCompiler 类: http://docs.oracle.com/javase/6/docs/api/javax/tools/JavaCompiler.html 当我调用
我是一名优秀的程序员,十分优秀!