提问者:小点点

Amazon Elastic BeanstalkJava如何获取Oracle JDK


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

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

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

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

据之前的所有者说,他们建议我不要创建自己的“AMI ”,因为那样我将不得不自己处理所有的内部资源。有人告诉我,这样做会破坏弹性豆茎为我们处理一切的目的。

我似乎找不到一个直接的答案。我不想离开弹性豆茎生态系统。我假设亚马逊的EC2是一个完全不同的生态系统,我必须自己管理所有服务器的内部结构。

我只想知道,到目前为止,是否有可能使用Oracle JDK为Tomcat7提供一个Elastic Beanstalk实例?

我希望这只是一个简单的网站上的某个地方的配置变化。

怎么能做到这一点呢?


共1个答案

匿名用户

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

关于eb配置文件的正式(累人的)文档在这里
为了让你快速起步,请查看以下要点。