我使用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位库安装到客户端站点而不是开发站点上,我的问题是否解决?
答案 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应该把所有其他东西都传递给你。