【发布时间】:2017-09-23 03:58:47
【问题描述】:
我正在尝试从 Cloud Foundry Java 应用程序中调用 javac 以在应用程序运行时编译 java 文件。我有一个关于正在使用哪个 JDK 的问题。
为了测试这一点,在我的应用程序中,我使用语句 ToolProvider.getSystemJavaCompiler() 实例化了一个 JavaCompiler 并打印出编译器实例。该应用部署在 CF 上并打印出:com.sun.tools.javac.api.JavacTool@2e68d3ad
以下内容来自日志。
-----> Java Buildpack 版本:v3.13 | https://github.com/cloudfoundry/java-buildpack.git#03b493f 2017-04-24T13:23:21.38-0700 [STG/0] OUT -----> 从https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.8.0_121.tar.gz 下载 Open Jdk JRE 1.8.0_121 (0.5s) 2017-04-24T13:23:22.48-0700 [STG/0] OUT 将 Open Jdk JRE 扩展为 .java-buildpack/open_jdk_jre (1.0s)
两个问题:
- 假设 JDK 在 Cloud Foundry 上始终可用是否安全,所以我可以使用 javac。
- 为什么在我的代码中实例化的编译器引用了 Sun 的 javac?我期待 OpenJDK JDK(即使日志说只下载了 JRE)。
任何见解将不胜感激。谢谢。 -米歇尔
【问题讨论】:
标签: java cloud javac cloud-foundry openjdk