我是亚马逊网络服务的新手,最近继承了很多现有的服务。
我迫切需要的一件事是让我们的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是一个完全不同的生态系统,在那里我必须自己管理所有服务器的内部。
我只想知道,到目前为止,有没有可能用Oracle JDK为Tomcat7创建一个Elastic Beanstalk实例?
我希望这只是一个简单的配置更改在网站上的某处。
如果可能,您能提供如何做到这一点的说明吗?
发布于 2015-11-08 17:31:34
您可以安装您喜欢的JDK并更改指向它的java linux链接,因此它将成为默认的JDK。由于EB实例是由EB自动创建和销毁的,因此您需要包含一个小脚本,该脚本指示EB在决定启动新的web实例时进行所需的java更改。
现在,您需要编写一个conf文件并将其放在.ebextensions文件夹中。在该文件中,您手动安装java并将其替换为当前版本。
关于eb配置文件的正式(繁琐)文档是here。
让你快速启动和运行,check out this gist。
https://stackoverflow.com/questions/33554405
复制相似问题