Как перейти с Eclipse Ganymede на Eclipse Galileo?

Я написал RCP-приложение, содержащее множество подключаемых модулей, которые я создал с помощью Ganymede версии 3.4.2. Я хочу начать использовать Galileo. Когда я пытаюсь запустить свое RCP-приложение из рабочей области, которую я создал с помощью Ganymede, я получаю множество ошибок, таких как следующие:

!SESSION 2009-09-09 10:41:33.907 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.6.0_12
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Framework arguments:  -product com.bah.gs.arts.jekyll.product
Command-line arguments:  -product com.bah.gs.arts.jekyll.product -data C:\Workspace/../runtime-jekyll.product -dev file:C:/Workspace/.metadata/.plugins/org.eclipse.pde.core/jekyll.product/dev.properties -os win32 -ws win32 -arch x86

!ENTRY org.eclipse.equinox.app 0 0 2009-09-09 10:41:35.469
!MESSAGE Product com.bah.gs.arts.jekyll.product could not be found.

!ENTRY org.eclipse.osgi 2 0 2009-09-09 10:41:35.500
!MESSAGE One or more bundles are not resolved because the following root constraints are not resolved:
!SUBENTRY 1 org.eclipse.osgi 2 0 2009-09-09 10:41:35.500
!MESSAGE Bundle initial@reference:file:../../Common/plugins/org.eclipse.core.databinding_1.2.0.I20090604-2000.jar/ was not resolved.
!SUBENTRY 2 org.eclipse.core.databinding 2 0 2009-09-09 10:41:35.500
!MESSAGE Missing required bundle org.eclipse.core.databinding.observable_[1.2.0,2.0.0).
!SUBENTRY 2 org.eclipse.core.databinding 2 0 2009-09-09 10:41:35.500
!MESSAGE Missing required bundle org.eclipse.core.databinding.property_[1.2.0,2.0.0).
!SUBENTRY 1 org.eclipse.osgi 2 0 2009-09-09 10:41:35.500
!MESSAGE Bundle initial@reference:file:../../Common/plugins/org.eclipse.jface.databinding_1.3.0.I20090525-2000.jar/ was not resolved.
!SUBENTRY 2 org.eclipse.jface.databinding 2 0 2009-09-09 10:41:35.500
!MESSAGE Missing required bundle org.eclipse.core.databinding.property_[1.2.0,2.0.0).
!SUBENTRY 2 org.eclipse.jface.databinding 2 0 2009-09-09 10:41:35.500
!MESSAGE Missing required bundle org.eclipse.core.databinding.observable_[1.2.0,2.0.0).
!SUBENTRY 1 org.eclipse.osgi 2 0 2009-09-09 10:41:35.500
!MESSAGE Bundle initial@reference:file:../../Common/plugins/org.eclipse.ui.workbench_3.5.0.I20090603-2000.jar/ was not resolved.
!SUBENTRY 2 org.eclipse.ui.workbench 2 0 2009-09-09 10:41:35.500
!MESSAGE Missing required bundle org.eclipse.core.databinding.property_[1.2.0,2.0.0).
!SUBENTRY 2 org.eclipse.ui.workbench 2 0 2009-09-09 10:41:35.500
!MESSAGE Missing required bundle org.eclipse.core.databinding.observable_[1.2.0,2.0.0).


Почему обновление с одной версии Eclipse на другую так болезненно?

Существует ли систематический способ решения вышеуказанных проблем?

Доступна ли процедура обновления с использованием «лучших практик»?

Спасибо за вашу помощь.

After trying what VonC suggested I am still experiencing some problems.

This is the constraint part of the MANIFEST.MF for the RCP application:

Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.eclipse.core.runtime;bundle-version="3.5.0";resolution:=optional;visibility:=reexport,
 org.eclipse.ui;bundle-version="3.5.0";resolution:=optional;visibility:=reexport,
 org.eclipse.core.expressions;bundle-version="3.4.100";resolution:=optional;visibility:=reexport

What is the significance of the "visibility:=reexport" and "resolution:=optional" parameters?

Error messages:

org.eclipse.core.databinding
Missing Constraint:Required-Bundle: org.elclipse.core.databinding.observable;require-version="[1.2.0.2.0.0]"
Missing Constraint:Required-Bundle: org.elclipse.core.databinding.property;require-version="[1.2.0.2.0.0]"

Same two messages for:

org.eclipse.jface.databinding
org.eclipse.ui.workbench


person Dr. Faust    schedule 11.09.2009    source источник
comment
org.elclipse.... ? Разве это не должно быть org.eclipse....   -  person VonC    schedule 14.09.2009
comment
Просто моя опечатка при вводе текста. Я мог вырезать и вставить из окна ошибки.   -  person Dr. Faust    schedule 14.09.2009


Ответы (2)


Перечисленная вами ошибка говорит о том, что Galileo не видит все плагины и библиотеки, которые использовал Ганимед и ваша программа. Извините за отсутствие ответа ниже. Ваш вариант — возиться с Galileo, пока он не увидит все ваши библиотеки и плагины.

Что бы я сделал, так это установил Galileo рядом с Ganymede и портировал ваши приложения по одному. Я предполагаю, что вы работаете под Windows, но те же методы, которые я здесь перечисляю, работают и для Linux.

Во-первых, теоретически все, что вам нужно сделать для перехода с Ganymede на Galileo, — это установить Galileo поверх Ganymede. Поверь в это? Хорошо. Я тоже не знаю. Так что пройдитесь по Ганимеду и отметьте, какие плагины у вас установлены. Затем установите Galileo в отдельный каталог. Направьте новую установку на вашу виртуальную машину Java. Затем установите все ваши плагины. Это ваш выбор, как вы это сделаете.

Наконец, я бы различал источник и мета в ваших проектах. Создайте новый проект под Галилео и перенесите только свой исходник. Позвольте Galileo перестроить вашу мету.

Теперь, как избежать всей этой боли в следующий раз: Контроль версий. CVS, SVN, git... неважно, что вы используете. Eclipse имеет подключаемый модуль, который поддерживает их все. Затем при следующем обновлении просто импортируйте исходный код в проект новой установки Eclipse. Гораздо менее болезненно, и вы будете иметь гораздо больший контроль над своим источником.

Удачи.

person Berin    schedule 15.09.2009
comment
Спасибо за ваш ответ. У меня все в системе контроля версий. Итак, по вашему совету я должен: а. Создайте новый проект под Galileo. б. Импортируйте исходный код. Пусть Galileo создаст метаданные. - person Dr. Faust; 15.09.2009
comment
да. Это то, что работает для меня на работе, где я использую Eclipse с CVS. Если вы столкнулись с теми же ошибками, проблема заключается в отсутствующем плагине или библиотеке. Боюсь, у меня нет подсказок на этот счет. Я потерял терпение, когда это случилось со мной, и выполнил чистую переустановку Galileo, а затем вручную загрузил и применил нужные мне плагины и библиотеки. Я, вероятно, мог бы использовать диспетчер подключаемых модулей Eclipse, но управление загрузками вручную упростило контроль над тем, что именно я применяю к своей установке Eclipse. - person Berin; 15.09.2009

Я использую eclipse для разработки кода на Java, Python и PHP. Я использовал Ganymede для всего этого, пока не захотел перейти на Galileo. Обновление было довольно простым. Вот шаги, которые я выполнил:

  1. Сделайте резервную копию рабочей области где-нибудь, где удаление Ganymede не повлияет на нее.
  2. Скопируйте все сайты программного обеспечения в текстовый файл и сделайте резервную копию этого текстового файла вместе с рабочей областью.
  3. Удалите Ганимед.
  4. Установите Галилео.
  5. В моем случае рабочая область не была изменена, и я указал Galileo на ту же рабочую область, поэтому все мои проекты и файлы остались на месте.
  6. Обновите все подключаемые модули и расширения в Galileo с сайтов обновлений, указанных в текстовом файле.

В этот момент у меня возникли проблемы из-за устаревших версий плагинов/проблем несовместимости плагинов с Ганимедом и Галилео. Тем не менее, некоторые минимальные поиски в Google помогли мне решить эти проблемы.

Galileo была одной из самых чистых и простых установок, которые я когда-либо делал, и мне никогда не приходилось возиться с eclipse.ini.

person inspectorG4dget    schedule 06.11.2009
comment
То, что вы описали, является конечным пользователем, обновляющим Eclipse. Это просто. Доктор Фауст обновлял свое приложение RCP на основе Eclipse. Это более болезненно. - person inger; 10.11.2009