Amazon Elastic Beanstalk Java 如何获取 Oracle JDK

Posted

技术标签:

【中文标题】Amazon Elastic Beanstalk Java 如何获取 Oracle JDK【英文标题】:Amazon Elastic Beanstalk Java How To Get Oracle JDK 【发布时间】:2016-02-06 20:51:13 【问题描述】:

我是亚马逊网络服务的新手,最近继承了很多现有服务。

我一直迫切需要的一件事是让我们的 Amazon Elastic Beanstalk 实例使用 Sun 的 Oracle JDK 而不是 openJDK。

自从我使用 Sun 的 Oracle JDK 进行 Java 开发以来,这种不一致一直使我的 Java 功能无法按预期工作。我们的遗留代码基于 JDK7。

例如,openJDK 中不存在 JPEG 编解码器,javascript Rhino 引擎不支持 JSON.stringify 函数。我已经解决了这些问题,但这只是避免了更大的问题,即我不知道 openJDK 不支持什么,而 Oracle JDK 似乎支持几乎所有东西。

根据前任所有者的说法,建议我不要创建自己的“AMI”,因为那样我就必须自己处理所有内部资源。有人告诉我,这样做会破坏 Elastic Beanstalk 为我们处理一切的目的。

我似乎找不到一个直接的答案。我不想离开 Elastic Beanstalk 生态系统。我假设 Amazon 的 EC2 是一个完全不同的生态系统,我必须自己管理所有服务器的内部。

我只是想知道,截至今天,是否可以使用 Oracle JDK 为 Tomcat7 提供 Elastic Beanstalk 实例?

我希望这只是网站某处的简单配置更改。

如果可能,您能否提供有关如何操作的说明?

【问题讨论】:

【参考方案1】:

您可以安装您喜欢的 JDK 并将 java linux 链接更改为它,因此它将是默认的。 由于 EB 实例由 EB 自动创建和销毁,因此您需要包含一个小脚本,指示 EB 在决定启动新 Web 实例时进行所需的 java 更改。 现在要做到这一点,您需要编写一个conf 文件并将其放在.ebextensions 文件夹中。在该文件中,您手动安装 java 并将其替换为当前文件。

关于 eb 配置文件的正式(令人厌烦的)文档是 here。 为了让您快速启动并运行,check out this gist。

【讨论】:

以上是关于Amazon Elastic Beanstalk Java 如何获取 Oracle JDK的主要内容,如果未能解决你的问题,请参考以下文章

在 Amazon Elastic Beanstalk 上安装 Anaconda

Amazon Elastic Beanstalk 腻子

Amazon Elastic Beanstalk 如何采用自定义 python 命令?

如何卸载 Amazon Elastic Beanstalk 命令行界面?

Elastic Beanstalk 是不是支持 Amazon 的 Aurora DB?

使用 RabbitMQ 的 Amazon Elastic Beanstalk 上的芹菜超时异常