Можно ли запустить механизм обеспечения eclipse p2 *локально*?

StackOverflow https://stackoverflow.com/questions/131704

  •  02-07-2019
  •  | 
  •  

Вопрос

Eclipse 3.4[.x] — также известный как Ганимед - поставляется с этим новым механизмом обеспечения, называемым п2.

«Предоставление» — это процесс, позволяющий обнаруживать и обновлять по требованию некоторые части приложения, как это в общих чертах описано в этой статье о Веб-сайт Солнца.

Eclipse имеет расширенный раздел вики в котором представлены детали p2.В частности, на этой странице вики говорится, что P2 будет искать новые компоненты, однако после прочтения.

Я предполагаю (но вы можете подтвердить это своим собственным опытом), что p2 может работать по протоколу файла «file://», который позволит ему предоставлять местный файл (на вашем компьютере или по UNC-пути «\server\path»), как показано здесь, но и файлами:

  • [eclipse-SDK-3.4-win32]\eclipse\configuration\.settings\org.eclipse.equinox.p2.artifact.repository.prefs
  • [eclipse-SDK-3.4-win32]\eclipse\configuration\.settings\org.eclipse.equinox.p2.metadata.repository.prefs

Механизм p2 используется для обновления самого eclipse через сайт обновления eclipse 3.4, и ссылку в этих файлах '.prefs' с такой строкой:

репозитории/файл:_C:_jv_eclipse_eclipse-SDK-3.4-win32_eclipse/url=file:/C:/jv/eclipse/eclipse-SDK-3.4-win32/eclipse/

Теперь, как я могу реплицировать компоненты eclipse, присутствующие на этом сайте обновлений, в локальный каталог и ссылаться на эти компоненты через упомянутые файлы «.prefs», чтобы процесс обновления полностью запускался локально, без доступа к Интернету?
Я предполагаю, что некоторые файлы метаданных p2, присутствующие на удаленном «сайте обновлений», также необходимо реплицировать и изменять.

Есть ли у вас какие-либо мысли/советы/советы по этому поводу?(т.е.о том, как обнаружить, получить и обновить полную структуру, необходимую для полной установки Eclipse, чтобы запустить эту установку локально)

Это было полезно?

Решение

Да, вы можете указать расположение репозитория, если используете p2.director.

это, например, фрагмент сценария, который я использую для установки eclipse (Ганимед) из локальной копии репозитория Ганимеда.

./eclipse\
      -nosplash -consolelog -debug\
      -vm "${VM}"\
      -application org.eclipse.equinox.p2.director.app.application\
      -metadataRepository file:${SHARED_REPOSITORY_DIR}\
      -artifactRepository file:${SHARED_REPOSITORY_DIR}\
      -installIU "${4-org.eclipse.sdk.ide}"\
      -destination "${3}"\
      -profile "${1}"\
      -profileProperties org.eclipse.update.install.features=true\
      -bundlepool ${SHARED_BUNDLEPOOL_DIR}\
      -p2.os linux\
      -p2.ws gtk\
      -p2.arch "${2}"\
      \
      -vmargs\
        -Xms64m -Xmx1024m -XX:MaxPermSize=256m\
        -Declipse.p2.data.area=${SHARED_P2_DIR}

Вот несколько ссылок для использования директора p2

http://eclipse.dzone.com/articles/understanding-eclipse-p2-provi
http://wiki.eclipse.org/Equinox_p2_director_application

Другие советы

Похоже, вам нужно иметь одно обновление через Интернет, которое будет отражать (загружать) то, что вам нужно.Но после этого он сможет получать файлы от локального узла.Но я думаю, это ваш вопрос: нужен ли ему доступ в Интернет, чтобы определить это...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top