【问题标题】:How to fix "compiler is null maybe you are on JRE enviroment please change to JDK environment"如何修复“编译器为空,也许您在 JRE 环境中,请更改为 JDK 环境”
【发布时间】:2021-08-18 03:47:41
【问题描述】:

拥有一个 Spring Boot 应用程序,我尝试使用 Paketo Buildpack 构建它

pack build my-app
    --builder paketobuildpacks/builder:base
    --env BP_JVM_VERSION=8

但它不附带JDK,只有JRE可用。

出现错误

compiler is null maybe you are on JRE enviroment please change to JDK environment

如何将 jdk 添加到我的应用映像中?

【问题讨论】:

标签: java buildpack paketo


【解决方案1】:

Paketo Java 构建包经过深思熟虑,决定仅将 JRE 安装到运行时容器映像中。我们在构建您的应用程序时安装 JDK,但在应用程序运行时只有 JRE 可用。这是出于安全考虑,因为 JDK 提供了更大的表面积以及攻击者重新编译代码更改所需的工具。

虽然有几个已知的应用程序需要 JDK 的情况,所以这里有 surfaced up as a feature request 用于构建包。大部分工作已经完成,因此我们应该尽快合并此功能。关注本期的更新。

与此同时,您可以使用选择an alternate JVM provider 的说明并选择不附带JVM 的JVM 提供程序。我想不到的是 Amazon Corretto 和 Microsoft OpenJDK。

当您pack build 时,您将看到一条消息,指出已安装 JDK,因为 JRE 不可用。然后,您的运行时容器中应该有一个可用的 JDK。

【讨论】:

    猜你喜欢
    • 2013-11-08
    • 2019-10-23
    • 2018-02-25
    • 2016-04-29
    • 2018-06-12
    • 2017-07-15
    • 2021-04-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多