java - Heroku 上使用 Gradle 构建的 Oracle JDK 8

标签 java oracle heroku buildpack

有谁知道我在哪里可以找到包含 Oracle Java JDK 1.8 的 Heroku 的 gradle 兼容构建版本?

我正在部署一个相当复杂的 Spring 应用程序,我感觉奇怪的错误是由 OpenJDK 和 OracleJDK 之间的差异引起的。

或者,也许有人可以指导我 fork 现有的构建包并创建我自己的构建包。

EDIT: It wasn't a JDK issue after all

最佳答案

首先,这不太可能解决您的问题。也就是说...

您可以通过设置 JDK_URL_1_8 配置变量来自定义 JDK,如下所示:

$ heroku config:set JDK_URL_1_8=http://...tar.gz

对于 Oracle JDK:您必须从 tarball 中删除 jdk1.8.0_51 目录。您可以通过运行以下命令来完成此操作:

$ tar -xvf jdk-8u51-linux-x64.gz
$ cd jdk1.8.0_51
$ tar -cv -f jdk-8u51-linux-x64.gz .

您应该手动下载 OracleJDK,按照上面的方式进行编辑,并将其放入个人 S3 存储桶(或其他存储)中。然后使用该 URL 作为您的配置变量。

请注意,Oracle JDK 比 OpenJDK 大得多(大约 100mb)。这会影响你的蛞蝓大小。 (大小主要是由于您不需要的垃圾,例如 GUI 内容和文档)。

关于java - Heroku 上使用 Gradle 构建的 Oracle JDK 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31563515/

相关文章:

python - 如何从redis获取客户端地址?

ruby-on-rails - 重置 Heroku 上的意外更改

JAVAFx 构建失败

sql - from 子句中的子查询如何工作?

node.js - Facebook Messenger Bot API 发送多条消息并显示错误

oracle - 在Oracle 12c中将查询的输出转换为json

oracle - 创建触发器时出错

java - 为什么 Scala 构建自己的 ForkJoinPool 而不是使用 java.util.concurrent.ForkJoinPool#commonPool?

java - 让 java 应用程序在运行前询问参数

java - Swing:为JDialog设置一个固定的窗口大小