Завантаження сайтів оновлення плагіна Eclipse для встановлення в автономному режимі


77

Плагін, який я хочу встановити, забезпечує сайт оновлення для встановлення. Однак установка Eclipse, на яку я хочу її встановити, відбувається на машині, яка не підключена до Інтернету. Чи є у мене спосіб отримати доступ до сайту (HTTP, FTP тощо), щоб завантажити файли на ньому для автономної установки?

Відповіді:


57

Eclipse пропонує спосіб автоматичного віддзеркалення цих веб-сайтів або через командний рядок, або через мурашині завдання.

Дзеркало на основі інформації p2

$eclipse_home/eclipse -application org.eclipse.equinox.p2.artifact.repository.mirrorApplication -source $1 -destination $2
$eclipse_home/eclipse -application org.eclipse.equinox.p2.metadata.repository.mirrorApplication -source $1 -destination $2

Довідково: Дзеркальне відображення сховища Equinox p2

Дзеркало на основі інформації про site.xml

java -jar $eclipse_home/plugins/org.eclipse.equinox.launcher_*.jar -application org.eclipse.update.core.standaloneUpdate -command mirror -from $from -to $to

Довідково: Запуск диспетчера оновлень із командного рядка

Ви можете слідкувати за розвитком цих сценаріїв у моєму сховищі сценаріїв .


Для Кеплера використовуйте це
vincentlcy

@vincentlcy - хіба це не знайдено в заголовку "Дзеркало на основі інформації про p2"?
Роберт Мунтеану,

о, вибачте, не знав, що це те саме. мені здається в Kepler я не можу знайти цей $ eclipse_home / plugins / org.eclipse.equinox.launcher _ *. jar
vincentlcy

У мене все ще є програма запуску в моїй установці Kepler, але я думаю, що це необов’язково. Тож я спочатку перемістив частину 'p2', оскільки вона підтримується і виглядає точно так само, як та, яку ви зв’язали. Дякуємо за внесок :-)
Роберт Мунтеану,

будь-який спосіб також завантажити залежності? coz, я намагався виконати встановлення m2e в автономному режимі, і він видає помилку, повідомляючи, що не може знайти комплект
slf4j

11

Потрудившись деякий час із дзеркальним відображенням, я зрозумів, що набагато простіше (принаймні для мене) використовувати замість цього "wget".

Коротко:

  1. Завантажте сайт:

    wget --recursive --no-parent http://url.of/updatesite

  2. Візьміть вміст завантаженого сайту оновлення та перемістіть його у своє офлайн-середовище

  3. Додайте каталог автономних веб-сайтів для оновлення до списку доступних сайтів програмного забезпечення за допомогою кнопки "Місцевий ..."

Ви можете прочитати про це з додатковою інформацією тут .


Найпростіший метод. Моєю основною проблемою було знайти URL-адресу для Джубули. download.eclipse.org приховує вміст за посиланням "Показати зміст каталогу". Нарешті я здогадався http://download.eclipse.org/jubula/release/mars/.
user3132194

1
Це також не вдається для речей, розміщених у S3 або іншому сховищі предметів, тому не пропонуйте веб-сайт, що сканується
Даніель Холмс,

Ну, в основному це працювало 3 роки тому. Більшість плагінів тоді не використовували сховища об’єктів ...
Антон,

1
wget --recursive --no-parent download.eclipse.org/releases/kepler, але він завантажує лише файл xml для нього. Як я можу завантажити цілі файли.
AhmedRana

9

Більшість плагінів Eclipse можна встановити без оновлення Eclipse, скопіювавши необхідні JAR-файли, доступні на сайті оновлення, до плагінів та каталогів функцій інсталяції Eclipse.

У певних випадках необхідно запустити Eclipse за допомогою перемикача -clean.

Ось приклад того, як це зробити для плагіна m2eclipse:

  1. Сайт оновлення m2eclipse - http://m2eclipse.sonatype.org/update . Першим кроком є ​​визначення необхідного списку JAR. Зазвичай це можна знайти у файлі site.xml; у цьому випадку ви знайдете його на http://m2eclipse.sonatype.org/update/site.xml .
  2. Відфільтруйте список JAR-файлів, які потрібно завантажити, до тієї версії плагіна, яку ви збираєтесь використовувати. Це можна визначити за атрибутом версії для кожної "функції". Якщо вам пощастить, ви знайдете опис JAR у вузлі категорії.
  3. Зверніть увагу на атрибут url кожного JAR, який потрібно завантажити. Це включатиме підкаталог на сервері, де доступний JAR, а також каталог в інсталяції Eclipse, де їх потрібно розмістити.

PS: Цей метод трохи хакерський, але він базується на посиланнях на карту сайту . Але зверніться до оновлення

Оновлення

Я не намагався цього зробити, але ви можете створити локальний дзеркальний сайт, звідки всі інші можуть взяти плагіни Eclipse. У Galileo це можна зробити, запустивши програму оновлення Eclipse в автономному режимі за допомогою дзеркальної команди .


Спробував вашу першу пропозицію. Вдалося знайти та завантажити JAR-файли, але вони, здається, нічого не містять. Встановив їх у каталог "dropins" і перезапустив, але нічого теж не сталося. Спробую вашу іншу пропозицію. До речі, плагін, який я намагаюся встановити, - це загальний з'єднувач веб-шаблонів Mylyn з download.eclipse.org/tools/mylyn/update/incubator .
Chry Cheng

Для першої пропозиції я спробував завантажити download.eclipse.org/tools/mylyn/update/incubator/features/… . Не було проблем із завантаженням.
Vineet Reynolds

Оглядаючись назад, URL-адресою оновлення було завантаження.eclipse.org /tools/mylyn/update/incubator, а файлом, згаданим у site.xml, був features / org.eclipse.mylyn.sandbox.ui_feature_3.2.1.v20090722-0200-e3x. банку. Тому ефективною URL-адресою JAR є download.eclipse.org/tools/mylyn/update/incubator/features/…
Vineet Reynolds

1
Отримання функцій не допоможе. Вам потрібні плагіни. Я пропоную спробувати Eclipse Updater, щоб створити дзеркало сайту. Після цього просто запакуйте його в zip-файл і використовуйте zip як сайт оновлення з диспетчера оновлень.
zvikico

1
Ті самі плагіни в будь-якому випадку доступні на сторінці завантаження Mylyn як zip @ eclipse.org/downloads/download.php?file=/tools/mylyn/update/… . Це повинен бути найпростіший спосіб для OP розповсюдити плагіни локально.
Vineet Reynolds

5

Ви можете віддзеркалити сайти p2, використовуючи завдання Ant:

<target name="springide">
    <echo>springide</echo> 
    <p2.mirror verbose="true">
        <repository location="${REPO_HOME}/springide" name="springide" append="true"/>
        <source>
            <repository location="http://springide.org/updatesite" />
        </source>
        <iu id="Core / Spring IDE" version="" />
        <iu id="Extensions / Spring IDE" version="" />
        <iu id="Integrations / Spring IDE" version="" />
        <iu id="Resources / Spring IDE" version="" />
    </p2.mirror>
</target>

або помилки пошуку:

<target name="findbugs">

<echo>findbugs</echo>
    <p2.mirror verbose="true">
        <repository location="${REPO_HOME}/findbugs" name="findbugs" append="true"/>
        <source>
            <repository location="http://findbugs.cs.umd.edu/eclipse/" />
        </source>
        <iu id="edu.umd.cs.findbugs.plugin.eclipse.feature.group" version="" />
    </p2.mirror>
</target>

Для того, щоб це працювало, вам потрібно запускати мурашині завдання в тій самій JVM, що і eclipse.

Ви можете знайти IU ID: s, відкривши "Оновлення програмного забезпечення" і скопіювавши його звідти. В Eclipse 3.5 повинна бути кнопка Більше ..., у 3.4 вам потрібно натиснути кнопку властивостей.


3

Ви можете отримати його тут https://repository.sonatype.org/content/repositories/forge-sites/m2e/1.3.0/N/1.3.0.20121023-1108/

Завантажте всі файли з деталізацією плагінів та функцій. Зберігайте у каталозі на своєму комп'ютері, зберігаючи все в одній структурі каталогів. Перемістіть його в папку на вашому пристрої розробника.

У Eclipse перейдіть до довідки | Встановити нове програмне забезпечення ... Натисніть кнопку "Додати" Натисніть кнопку "Локально ..." Знайдіть каталог, до якого ви скинули файли. Дотримуйтесь інструкцій на екрані.


3

Плагіни Eclipse зазвичай залежать від інших плагінів. Начебто важко простежити залежності. Краще один раз завантажити всі залежності за допомогою сайту оновлення, і ви можете розповсюджувати їх серед інших плагінів Eclipse. Для Eclipse 3.4 або новішої версії ви можете використовувати дропіни, що є функцією Eclipse. Таким чином, вам не потрібно встановлювати плагін із сайту оновлення кожного разу, коли вам доведеться переінсталювати ваш Eclipse. Читайте далі http://michsan.web.id/content/how-install-eclipse-plugins-offline

Якщо ви не можете бачити Інтернет, я дам вам опис

Підготуйте каталог для зовнішніх плагінів

Створіть спеціальний каталог для зберігання наших улюблених плагінів, наприклад, в / home / ichsan / eclipse-dropins ми встановимо плагін Maven: m2eclipse.

mkdir /home/ichsan/eclipse-dropins

Наразі ми будемо називати цей каталог DROPINS

Підготовка пісочниці

Далі, використовуючи Git, ми створимо пісочницю Eclipse. Сенс у тому, щоб встановити один плагін на свіжий Eclipse. Замість того, щоб встановлювати свіжий Eclipse кожного разу, коли ми хочемо встановити новий плагін, нам краще використовувати Git для створення нової гілки свіжого Eclipse.

Спочатку витягніть / встановіть новий Eclipse до каталогу, наприклад, / home / ichsan / eclipse-sandbox (так що ми знайдемо /home/ichsan/eclipse-sandbox/eclipse.ini). Ми називаємо каталог ECLIPSE_SANDBOX.

Далі зафіксуйте нову установку. Цей крок слід зробити лише один раз.

cd $ECLIPSE_SANDBOX
git init
git add .
git commit -am "Fresh Eclipse"

Встановіть плагін на пісочниці

Зараз цікава частина. Припустимо, ми повинні встановити плагін m2eclipse. Ми встановимо це на нову гілку Git, щоб головна гілка залишалася чистою або залишалася цілою.

cd $ECLIPSE_SANDBOX
git checkout -b "m2eclipse"

Тепер ми запускаємо Eclipse ECLIPSE_SANDBOX і завантажуємо плагін. Закінчивши, ми вимикаємо Eclipse і перевіряємо, які нові каталоги або файли були створені (за допомогою Git). Пам’ятайте, що ми дбаємо лише про нові плагіни та каталоги функцій та вміст усередині них. Отже, ми не будемо копіювати решту в дропіни.

# Prepare the m2eclipse plugin directories
mkdir -p $DROPINS/m2eclipse/eclipse/plugins
mkdir -p $DROPINS/m2eclipse/eclipse/features

cd $ECLIPSE_SANDBOX
for f in $(git status | sed "s/#\t//g" | grep -P "^plugins" ); do cp -R $f $DROPINS/m2eclipse/eclipse/plugins; done
for f in $(git status | sed "s/#\t//g" | grep -P "^features"); do cp -R $f $DROPINS/m2eclipse/eclipse/features; done

# Make the directory read only
chmod -R -w $DROPINS/m2eclipse

# Commit changes
git add .
git add -u
git commit -am "M2Eclipse plugin installed"


# Back to master branch to make Eclipse clean again and ready for other plugin installations
git checkout master
Installing the plugin

Просто скопіюйте каталог DROPINS / m2eclipse у ECLIPSE_HOME / dropins або створіть символічне посилання. І ми закінчили!

cd $ECLIPSE_HOME/dropins ln -s $DROPINS/m2eclipse

Іншим способом є резервне копіювання відмінностей між комітом fresh-Eclipse та комітом після встановлення плагіна.

for i in `git diff hashFreshEclipse hashPluginInstall --name-only`;do 
  if [ -f $i ]; then
    tar -r -f m2e-android.tar $i
  fi
done
gzip m2e-android.tar

3

Я виявив, що p2 mirrorApplication не дуже добре працював на деяких сайтах і віддзеркалював повторювані артефакти (як версія pack200, так і jar). Агрегатор b3 працював набагато краще і значно спростив налаштування мого сайту оновлення. Інструкції щодо встановлення та подробиці див. У посібнику за адресою: https://wiki.eclipse.org/Eclipse_b3/aggregator/manual .

Основними кроками, якими я користувався, були:

  • Файл> Нове> Інше ...> b3> Агрегація сховищ.
  • Виберіть вузол агрегації та встановіть корінь побудови в папку, куди потрібно перейти агреговане репо.
  • Додайте платформи, які вам важливі, за допомогою R-клацніть вузол агрегації > Нова дочірня> Конфігурація.
  • Додайте один набір перевірки , зазвичай встановлюйте його Мітка як основний
  • Якщо вам не потрібні додаткові комплекти з основного сховища eclipse (тобто: http://download.eclipse.org/releases/mars ), ви можете додати його до набору перевірки як сховище перевірки , але зазвичай вам знадобиться додати його як зіставлене сховище під внесок, щоб можна було завантажити залежності та / або додаткові функції затемнення.
  • Для кожного плагіна додайте внесок із міткою , а під ним - принаймні одне зіставлене сховище з розташуванням .
  • Додайте вузли користувацької категорії до Агрегації, якщо хочете; надайте їм кожен унікальний Опис , Ідентифікатор та Етикетку .
  • Розгорніть вузол браузера репозиторію внизу> розгорніть URL-адресу репо> розгорніть встановлені одиниці > Подивіться на функції під категоріями (якщо вони є) та / або під функціями .
  • R-клацніть потрібні вам функції та додайте до спеціальної категорії (якщо ви їх використовуєте), інакше Додати до батьківського зіставленого сховища як> Зіставлена ​​функція.
  • R-клацніть будь-який вузол> Складання агрегації.

Важлива примітка: якщо ви не зіставите жодних функцій із даного сховища, це ціле сховище буде дзеркально відображено (на мою думку, найновіші версії всіх пакетів, а не все в репо).

На щастя, мені не довелося возитися з Правилами виключення чи Дійсними правилами конфігурації, які, здається, ускладнюють ситуацію. Однак правила виключення можуть бути необхідними, якщо сховища містять пакети, що мають конфлікти залежностей, і в цьому випадку потрібно виключити один або кілька конфліктуючих пакетів.

Хоча b3 Aggregator зазвичай завантажує лише останню версію кожної зіставлених вами функцій (і це залежності), якщо ви неодноразово використовуєте Build Aggregation з часом, коли виходять нові версії, застарілі версії накопичуватимуться у вашому агрегуванні. Ви можете використовувати Агрегацію, а потім Скласти, але це означає, що вам доведеться перезавантажити все. Натомість просто додайте інший файл агрегації .b3aggr, встановіть корінь побудови, додайте свої конфігурації та додайте один внесок із відображеним сховищем, використовуючи шлях до finalкаталогу локального дзеркала . Не картографуйте жодних об’єктів і не створюйте будь-яких категорій. Тоді побудуйте агрегацію, і лише найновіші версії вашого дзеркала будуть агреговані!


2

Я щойно зіткнувся з цією проблемою та вирішив її, дотримуючись інструкцій з цього посібника . Підсумовуючи, виконайте такі команди на своєму терміналі в папці Eclipse:

  1. eclipsec.exe -application org.eclipse.equinox.p2.metadata.repository.mirrorApplication -source $1 -destination $2

  2. eclipsec.exe -application org.eclipse.equinox.p2.artifact.repository.mirrorApplication -source $1 -destination $2

Де $1посилається на URL-адресу Інтернет-сховища та$2 посилається на шлях до локальної папки. Наприклад, щоб завантажити Vrapper на робочий стіл Windows:

$ 1 = http://vrapper.sourceforge.net/update-site/stable/

$ 2 = C: / Users / foo / Desktop

Перенесіть папку на апарат без підключення до Інтернету. Потім запустіть Eclipse -> Довідка> Встановити нове програмне забезпечення. Вкажіть локальне сховище (тобто папку, яку ви щойно перенесли) для встановлення. Це має спрацювати.


Те саме, що і відповідь на те саме запитання: stackoverflow.com/a/1907322 . Будь ласка, проголосуйте наявну відповідь і додайте коментарі щодо незначних внесків.
Chry Cheng

Я не зрозумів існуючої відповіді, коли вперше її прочитав, тому шукав додаткову інформацію та розмістив тут свою відповідь. ОП stackoverflow.com/questions/38571201/… також вважав, що відповідь "здається застарілою". Але так, я погоджуюсь, що натомість я мав розмістити коментар, дякую!
Zhiyuan-Amos

1
Ця відповідь надає набагато чіткіші вказівки, ніж прийнята відповідь, і саме та, яку я використав. Дякуємо за надання.
Іван Ісус
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.