如果这是一个菜鸟问题,请原谅我。
我正在使用 IBM 工具开发 Java 应用程序。在项目中我使用了IBM JRE提供的某些类。 据我所知,IBM 提供了自己的 JDK(与 Sun/Oracle JDK 不同),它与 Websphere 服务器和 RAD 捆绑在一起。
假设我使用 RAD/Websphere 和 JRE(包含在 IBM 的 JDK 中)开发一个应用程序,并将 EAR 文件部署在 Websphere 服务器中。
在这种情况下,应用程序会在 Websphere 服务器中查找用于部署的 JRE(它首先是否有自己的 JRE?),还是会使用系统 JRE?
如果它使用系统 JRE,则会引起关注,因为大多数用户系统都运行 Oracle JRE,而我使用了 Oracle JRE 中不存在的某些类。
继续朝这个方向发展,我感觉Tomcat中部署的WAR文件将使用系统JRE(假设Tomcat没有自己的JRE)。在这种情况下我是对的吗?
任何有关此问题的澄清都会有所帮助。谢谢。
最佳答案
是的,WebSphere 捆绑了一个 JRE,而 WebSphere 不会使用系统 JRE。我相信Tomcat还附带了自己的 JRE,但如果您愿意,可以将其配置为使用另一个 JRE。
请注意,IBM JRE 完全兼容 Java API,并且编写到 API 的程序可以移植到其他 JRE。然而,WebSphere 提供了自己的 jar 文件,并且使用 WebSphere API 的程序可能无法移植到非 WebSphere 环境。
关于java - EAR/WAR 使用哪个 JRE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28456510/