2015-11-05 56 views
5

我是亚马逊网络服务的新手,并且最近继承了很多现有服务。亚马逊Elastic Beanstalk Java如何获得Oracle JDK

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

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

例如,JPEG编解码器在openJDK中不存在,而javascript Rhino引擎不支持JSON.stringify函数。我已经对这些做了解决方法,但这只是避免了一个更大的问题,那就是我不知道openJDK不支持什么,并且Oracle JDK似乎支持所有事情。

根据以前的所有者,我建议不要创建自己的“AMI”,因为那样我就不得不自己照顾所有的内部资源。我被告知这样做会击败Elastic Beanstalk的目的,据说为我们处理所有事情。

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

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

我希望它只是一个简单的配置改变,在网站上的某个地方。

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

回答

2

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

有关eb配置文件的正式(累人)文档是here
让你快速启动,运行速度很快,check out this gist