在Eclipse中为从Eclipse启动的应用程序指定备用JRE

对于我将从eclipse启动的应用程序,我试图在Eclipse中指定一个替代jre(我的默认值为1.6,我需要使用jdk 1.4.2运行)。 我不确定我是否在以下代码中做正确的事情:

Path jreContainerPath = new Path("/usr/lib/jvm/j2sdk1.4.2_18/"); IVMInstall jre = JavaRuntime.getVMInstall(jreContainerPath); workingCopy.setAttribute(IJavaLaunchConfigurationConstants. ATTR_JRE_CONTAINER_PATH, jre.getName()); 

但是,IVMInstall jre为null。 我想我没有正确指定容器路径,但我不确定。 我必须在该计划中这样做。 我很乐意感谢你的帮助。 提前致谢。

getVMInstall返回JREContainerInitializer .resolveVM(jreContainerPath) ,后者又调用getExecutionEnvironmentId()

它将路径的第二段作为JVM的id(请参阅相同JREContainerInitializer类的getVMName()

可能这意味着预期路径不是文字路径,而是像’/jvm/j2sdk1.4.2_18’,其中’j2sdk1.4.2_18’是eclipse配置中已安装的JRE之一的名称。

通过更多地分析源类,您应该能够确切地找出该方法所期望的内容。

你是否一定想在程序中指定它? 否则,您可以转到项目的构建路径并指定要使用的备用jre。 (右键单击项目 – > java构建路径 – >选择jre – >单击编辑 – >选择备用jre那里)