我试图在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。我想我没有正确指定容器路径,但我不确定。我必须在程序中这样做。我很乐意感谢你的帮助。提前致谢。
答案 0 :(得分:4)
您是否一定要在程序中指定它?否则,您可以转到项目的构建路径并指定要使用的备用jre。 (右键单击项目 - > java构建路径 - >选择jre - >单击编辑 - >选择备用jre)
答案 1 :(得分:3)
getVMInstall
会返回JREContainerInitializer
.resolveVM(jreContainerPath)
,后者会调用getExecutionEnvironmentId()
。
它将路径的第二段作为JVM的id(参见同一getVMName()
类的JREContainerInitializer
)
可能这意味着预期路径不是文字路径,而是像'/jvm/j2sdk1.4.2_18',其中'j2sdk1.4.2_18'是eclipse配置中已安装的JRE之一的名称。< / p>
通过更多地分析源类,您应该能够确切地找出该方法所期望的内容。