可以使用64位java库执行32位导出的jar文件吗?

时间:2010-08-22 09:25:45

标签: java process 64-bit 32-bit

我使用32位java库导出try.jar文件。在客户端站点上,我有64位java库。 try.jar可以表现为64位可执行文件吗?

例如,我有

Runtime rt = Runtime.getRuntime();
s = rt.exec("someExecutable");

someExecutable二进制文件是64位,使用此代码与32位Java库似乎无法正常工作。 我解决这个问题的方法是使用32位java库导出try.jar(因为我的环境是32位)并使用客户端站点中的64位库运行try.jar。 这种方法是正确的还是其他任何建议?

当我直接运行someExecutable(没有涉及java),这是客户端站点上的64位它工作正常(客户端站点也是64位。)。 但是当我使用s = rt.exec(“someExecutable”)时;它不起作用。 java库(通过java.sun.com下载的jre可执行文件)现在在客户端和开发站点都是32位。 如果我将64位库安装到客户端站点而不是开发站点上,我的问题是否解决?

3 个答案:

答案 0 :(得分:4)

Java Librairies不是问题所在。如果你想exec someExecutable,那么对于32位环境,这个程序必须是32位。

Java库不是32位或64位,它们位于Java ByteCode中。因此,它们可以在任何JVM 64或32上以完全相同的方式执行。

答案 1 :(得分:2)

您希望在运行程序的操作系统架构上使用someExecutable二进制文件。

这实际上与Java无关 - 所有Java正在进行的是进入底层操作系统并尝试在传递给Runtime.exec()的String中运行命令。

答案 2 :(得分:0)

当你这样做时会遇到什么问题?如果你使用100%的java代码,JRE应该把所有其他东西都传递给你。