如何指定为了运行我创建的某个Java应用程序,您需要在系统上安装32位JRE?进一步如何指定java应用程序使用32位JRE而不是64位JRE(如果它们都已安装?)
背景:
我创建了一个使用第三方32位库的应用程序。应用程序无法在64位JRE中运行。
我将把这个应用程序分发给我公司的很多计算机,所以我需要能够在代码或导出过程中指定所需的JRE。
我正在使用eclipse,Kepler来开发和构建java应用程序。
答案 0 :(得分:2)
java的想法总是编译一次并在任何地方运行,无论操作系统,CPU体系结构等,所以你可能会在这里走错方向。
但是,这里有一些您可能/不会发现有用的系统属性。我在列表中列出了属性键和值(我在Win7 64上运行Oracle JDK)
要使用其中任何一个
String vmname = System.getProperty("java.vm.name");
答案 1 :(得分:0)
您无法直接在Java中执行此操作,因为此时您正在运行的JVM中。我的解决方案是编写一个dos批处理脚本来设置JAVA_HOME并在PATH的前面添加%JAVA_HOME%\bin
。例如,我有sethome.bat
,其中包含
@echo off
set "JAVA_HOME=c:\Program Files (x86)\Java\jre6"
set "PATH=%JAVA_HOME%\bin;%PATH%"
然后我用
call "%SERVICE_HOME%\sethome"
"%JAVA_HOME%\bin\java" -version
echo If this does not look correct press CTRL-C to cancel otherwise
pause
答案 2 :(得分:0)
您通常无法确定哪个程序运行您的jar。我可以将jar传递给acroread
,或zip
或其他任何东西,你无法做任何事情。
所以,我只是尝试加载库,并进行适当的错误/异常处理。谁知道?也许你的客户同时用64位版本替换了这个库,你不知道吗?所以,这个:加载,如果它不会被优雅的错误信息中止,那是唯一明智的做法。