Amazon Elastic Beanstalk Java如何获取Oracle JDK

时间:2015-11-05 20:42:52

标签: java amazon elastic-beanstalk

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

我迫切需要的一件事是我们的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生态系统。我假设亚马逊的EC2是一个完全不同的生态系统,我必须自己管理所有服务器的内部。

我只是想知道,截至今天,是否有可能为Tomcat7和Oracle JDK建立一个Elastic Beanstalk实例?

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

如果可能,请您提供说明如何操作?

1 个答案:

答案 0 :(得分:2)

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

关于eb配置文件的正式(累人)文档是here 为了让您快速上手,check out this gist