java - 是否可以使用不同版本的 java 运行 jar 文件?

标签 java hadoop mapreduce openjdk powerpc

因此,我们在 Power PC 机器(64 位)上运行 hadoop。它使用 IBM JDK 运行。但是,在该 hadoop map reduce 程序中,会生成不同的进程(使用 ProcessBuilder 类)来执行 jar 程序。问题是这些程序在 IBM JDK 的虚拟机上运行有问题,因此需要 Open JDK。同样,hadoop 在 Power PC 上与 OpenJDK 一起运行时也会出现问题。所以我想知道,是否可以使用不同版本的 java 执行 jar 文件。因此,例如,在这种情况下,hadoop 使用 IBM JDK,而在 map reduce 程序中执行的 jar 文件使用 Open JDK。基本上,我们需要为同时运行的程序使用不同的java虚拟机。

最佳答案

您在评论中提供了最重要的信息——通过 ProcessBuilder 类生成。此类在操作系统级别进行调用,因此您可以以此启动任何进程,并且它们与启动它们的 Java 进程完全分开。所以一般的回答是“是的,这是可能的”。只需确保 ProcessBuilder 调用不同的 Java 安装即可。

关于java - 是否可以使用不同版本的 java 运行 jar 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29671712/

相关文章:

java - 当用户名用 @email 注释时,Spring 或 Hibernate 不生成 id

hadoop - 直接通过数据文件查看hive的内容

hadoop - MapReduce应用大师是什么?

apache-spark - 如何在Linux环境下按小时计划pyspark脚本

java - 无法使用 mapreduce.LoadIncrementalHFiles 将 HFiles 加载到 HBase

java - 格式化输出以具有相同的列数

java - Tomcat 上 Spring MVC 应用程序的 Log4j 配置

java - Java阻塞线程占用CPU资源多吗?

java - 在 Hadoop Map-Reduce 中,是否有任何类在排序之后和分区之前看到整个键列表?

MongoDB 无法插入文档,因为它超过了 180 级嵌套