CloudFoundry 和 JDK
CloudFoundry and JDK
我正在努力部署需要在 运行 期间编译 java 代码的 spring 应用程序。当用户提交问题的解决方案时,我的应用会调用 javac 命令,因此它可以稍后 运行 java
我正在部署到 cloud foundry 并使用 java-buildpack,但不幸的是,它没有 JDK,只有 JRE 可用而且那个东西没有 javac 或 java 命令可用。
你们知道如何将 JDK 添加到 cloud foundry 而无需编写我自己的自定义构建包的方法吗?
谢谢
我建议您使用 multi-buildpack 支持并使用 apt-buildpack 安装 JDK。它应该可以与 JBP 一起正常工作。它只需要在列表中排在第一位。
https://github.com/cloudfoundry/apt-buildpack
示例:
创建 apt.yml。
---
packages:
- openjdk-11-jdk-headless
将其打包到您的 JAR 中,jar uf path/to/your/file.jar apt.yml
。它应该被添加到 JAR 的根目录,所以如果你 jar tf path/to/your/file.jar
你应该只看到 apt.yml
而没有任何前缀。
更新您的 manifest.yml。在列表中首先添加 apt-buildpack。
---
applications:
- name: spring-music
memory: 1G
path: build/libs/spring-music-1.0.jar
buildpacks:
- https://github.com/cloudfoundry/apt-buildpack#v0.2.2
- java_buildpack
然后cf push
。您应该看到 apt-buildpack 运行 并安装 JDK。然后它将安装在 ~/deps/0/lib/jvm/java-11-openjdk-amd64
下。它似乎也没有出现在 PATH 上,因此请使用 javac
的完整路径或更新路径。
我正在努力部署需要在 运行 期间编译 java 代码的 spring 应用程序。当用户提交问题的解决方案时,我的应用会调用 javac 命令,因此它可以稍后 运行 java
我正在部署到 cloud foundry 并使用 java-buildpack,但不幸的是,它没有 JDK,只有 JRE 可用而且那个东西没有 javac 或 java 命令可用。
你们知道如何将 JDK 添加到 cloud foundry 而无需编写我自己的自定义构建包的方法吗?
谢谢
我建议您使用 multi-buildpack 支持并使用 apt-buildpack 安装 JDK。它应该可以与 JBP 一起正常工作。它只需要在列表中排在第一位。
https://github.com/cloudfoundry/apt-buildpack
示例:
创建 apt.yml。
--- packages: - openjdk-11-jdk-headless
将其打包到您的 JAR 中,
jar uf path/to/your/file.jar apt.yml
。它应该被添加到 JAR 的根目录,所以如果你jar tf path/to/your/file.jar
你应该只看到apt.yml
而没有任何前缀。更新您的 manifest.yml。在列表中首先添加 apt-buildpack。
--- applications: - name: spring-music memory: 1G path: build/libs/spring-music-1.0.jar buildpacks: - https://github.com/cloudfoundry/apt-buildpack#v0.2.2 - java_buildpack
然后
cf push
。您应该看到 apt-buildpack 运行 并安装 JDK。然后它将安装在~/deps/0/lib/jvm/java-11-openjdk-amd64
下。它似乎也没有出现在 PATH 上,因此请使用javac
的完整路径或更新路径。