Указание альтернативного JRE в Eclipse для приложения, запущенного из Eclipse - PullRequest
2 голосов
/ 29 ноября 2008

Я пытаюсь указать альтернативный jre (по умолчанию это 1.6 и мне нужно работать с jdk 1.4.2) в Eclipse, для приложения, которое я должен запустить из затмения. Я не уверен, правильно ли я поступаю в следующем коде:

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 является нулевым. Я думаю, что я не указываю путь контейнера правильно, но я не уверен. И я должен сделать это в программе. Буду рад любой помощи по этому вопросу. Заранее спасибо.

Ответы [ 2 ]

4 голосов
/ 29 ноября 2008

Вы обязательно хотите указать это в самой программе? В противном случае вы можете просто перейти к пути сборки проекта и указать альтернативный JRE, который вы хотите использовать. (щелкните правой кнопкой мыши по проекту -> путь сборки Java -> выберите jre -> нажмите edit -> выберите альтернативный jre)

3 голосов
/ 30 ноября 2008

getVMInstall возвращает JREContainerInitializer.resolveVM(jreContainerPath), что в свою очередь вызывает getExecutionEnvironmentId().

В качестве идентификатора JVM используется второй сегмент пути (см. getVMName() того же класса JREContainerInitializer)

Возможно, это означает, что ожидаемый путь - не буквальный, а такой, как '/jvm/j2sdk1.4.2_18', с 'j2sdk1.4.2_18' - именем одного из установленных JRE вашей конфигурации затмения.

Если еще немного проанализировать исходные классы, вы сможете точно определить, чего ожидает этот метод.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...