Можно ли запустить механизм обеспечения eclipse p2 *локально*?
-
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
Другие советы
Похоже, вам нужно иметь одно обновление через Интернет, которое будет отражать (загружать) то, что вам нужно.Но после этого он сможет получать файлы от локального узла.Но я думаю, это ваш вопрос: нужен ли ему доступ в Интернет, чтобы определить это...