Pobieranie stron z aktualizacjami wtyczek Eclipse do instalacji w trybie offline

Wtyczka, którą chcę zainstalować zapewnia witrynę aktualizacji do instalacji. Jednak instalacja Eclipse, na której chcę ją zainstalować, znajduje się na komputerze, który nie jest podłączony do Internetu. Czy jest jakiś sposób na dostęp do strony (HTTP, FTP itp.) aby pobrać pliki w nim do instalacji w trybie offline?

Author: Chry Cheng, 2009-09-03

7 answers

Eclipse oferuje sposób automatycznego dublowania tych Stron, albo za pomocą wiersza poleceń, albo za pomocą zadań ant.

Lustro na podstawie informacji 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

Reference: Equinox p2 repository mirroring

Mirror na podstawie strony.informacje xml

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

Referencja: uruchamianie menedżera aktualizacji z linii poleceń

Możesz śledzić ewolucję tych skryptów w moim repozytorium skryptów.

 53
Author: Robert Munteanu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-12 10:53:44

Po jakimś czasie zmagałem się z mirroringiem, zdałem sobie sprawę, że o wiele łatwiej (przynajmniej dla mnie) jest użyć "wget".

W skrócie:

  1. Pobierz Stronę:

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

  2. Pobierz zawartość pobranej witryny aktualizacji i przenieś ją do środowiska offline

  3. Dodaj katalog stron z aktualizacjami offline do listy dostępnych stron z oprogramowaniem poprzez "Local..."button.

Możesz przeczytać o tym więcej szczegółów tutaj .

 11
Author: Anton,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-09 08:17:22

Większość wtyczek Eclipse można zainstalować bez Eclipse updater, kopiując wymagane Jary dostępne na stronie aktualizacji, do katalogów wtyczek i funkcji instalacji Eclipse.

W niektórych przypadkach konieczne jest uruchomienie Eclipse z przełącznikiem-clean.

Oto przykład jak to zrobić dla wtyczki m2eclipse:

  1. strona aktualizacji m2eclipse to http://m2eclipse.sonatype.org/update . określenie listy wymaganych słoików jest pierwszy krok. Zwykle znajduje się to w witrynie.plik xml; w tym przypadku znajdziesz go w http://m2eclipse.sonatype.org/update/site.xml .
  2. Filtruj listę jarów do pobrania do wersji wtyczki, której zamierzasz użyć. Może to być określone przez atrybut version dla każdej "funkcji". Jeśli masz szczęście, znajdziesz opis słoika w węźle kategorii.
  3. zwróć uwagę na atrybut url każdego JAR, który należy pobrać. Obejmuje to podkatalog na serwerze, w którym jest dostępny JAR, a także katalog w instalacji Eclipse, w którym należy je umieścić.

PS: ta metoda jest nieco hackish, ale opiera się na Site-map reference . Ale zapoznaj się z aktualizacją

Update

Nie próbowałem tego, ale możesz utworzyć lokalną stronę lustrzaną, z której wszyscy inni mogą odbierać wtyczki Eclipse. W Galileo można to zrobić, uruchamiając Eclipse updater w trybie autonomicznym za pomocą polecenia mirror .

 9
Author: Vineet Reynolds,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-09-03 03:16:56

Możesz lustrować strony p2 za pomocą zadań 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>

Lub findbugs:

<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>

Aby to zadziałało musisz uruchomić zadania ant w tym samym JVM co eclipse.

Możesz znaleźć IU ID: s, otwierając "Software Updates" i skopiować go stamtąd. W Eclipse 3.5 powinno być więcej... przycisk, w 3.4 musisz kliknąć na przycisk Właściwości.

 5
Author: ILX,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-31 12:27:06

Odkryłem, że aplikacja lustrzana p2 nie działa zbyt dobrze na niektórych stronach i dublowanych artefaktach (zarówno wersja pack200, jak i wersja jar). Agregator b3 działał znacznie lepiej i znacznie ułatwił dostosowanie mojej witryny aktualizacji. Zobacz instrukcję pod adresem: https://wiki.eclipse.org/Eclipse_b3/aggregator/manual aby uzyskać instrukcje instalacji i szczegóły.

Podstawowe kroki, których użyłem to:

  • File > New > Other... > b3 > agregacja repozytoriów.
  • Wybierz agregacja węzeł i ustaw Build Root do folderu, do którego ma trafić zagregowany repo.
  • Dodaj platformy, na których Ci zależy za pomocą R-kliknij agregację węzeł > Nowe Dziecko > Konfiguracja.
  • Dodaj jeden zestaw walidacji , Zwykle ustaw jego etykietę na main.
  • Jeśli nie potrzebujesz żadnych dodatkowych pakietów z głównego repozytorium eclipse (ie: http://download.eclipse.org/releases/mars ), można go dodać do Validation Set as a Validation Repository , ale zazwyczaj musisz dodać go jako Mapped Repository under a Contribution tak aby można było pobrać zależności i/lub dodatkowe funkcje eclipse.
  • dla każdej Wtyczki Dodaj wkład z etykietą , a pod nią co najmniej jedno zmapowane repozytorium z lokalizacją .
  • Dodaj własną kategorię do agregacji jeśli chcesz; daj im unikalny Opis, identyfikator i Etykieta.
  • rozwiń węzeł przeglądarka repozytorium na dole > rozwiń adres URL repo > rozwiń jednostki instalacyjne > spójrz na funkcje w Kategorie (jeśli są obecne) i/lub w funkcje .
  • R-kliknij żądane funkcje i dodaj do kategorii niestandardowej( jeśli ich używasz), w przeciwnym razie Dodaj do macierzystego zmapowanego repozytorium jako > zmapowane Cecha.
  • R-kliknij dowolny węzeł > Zbuduj agregację.

Ważna uwaga: jeśli nie mapujesz żadnych funkcji z danego repozytorium, to całe repozytorium będzie lustrzane(myślę, że najnowsze wersje wszystkich pakietów, a nie właściwie wszystko w repozytorium).

Na szczęście nie musiałem bałaganić reguł wykluczania lub ważnych reguł konfiguracji, które wydają się bardziej skomplikowane. Zasady wykluczenia mogą być jednak konieczne, jeśli repozytoria zawierają pakiety które zawierają konflikty zależności, w którym to przypadku należy wykluczyć jeden lub więcej sprzecznych pakietów.

Podczas gdy agregator b3 zwykle pobiera tylko najnowszą wersję każdej zmapowanej funkcji (i jej zależności), jeśli wielokrotnie używasz Kompiluj agregację w miarę uwalniania nowych wersji, przestarzałe wersje będą gromadzić się w Twojej agregacji. Możesz użyć Clean, a następnie zbudować agregację , ale oznacza to, że będziesz musiał ponownie pobrać wszystko. Zamiast tego po prostu dodaj kolejny .plik agregujący b3aggr, Ustaw główny Build, dodaj konfiguracje i dodaj jeden wkład z zmapowanym repozytorium, używając ścieżki do katalogu final lokalnego lustra. Nie Mapuj żadnych funkcji ani nie twórz żadnych kategorii. Następnie zbuduj agregację i tylko najnowsze wersje z twojego serwera lustrzanego będą agregowane!

 3
Author: PolyTekPatrick,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-14 12:35:54

Możesz go dostać stąd https://repository.sonatype.org/content/repositories/forge-sites/m2e/1.3.0/N/1.3.0.20121023-1108/

Ściągnij wszystkie pliki do wtyczek i funkcji. Przechowuj w katalogu na komputerze, zachowując wszystko w tej samej strukturze katalogów. Przenieś go do folderu na komputerze deweloperskim.

In Eclipse go to Help / Intall New Software... Naciśnij przycisk "Dodaj" / Align = "left" / .."button Wyszukaj katalog, w którym upuściłeś pliki do. Postępuj zgodnie z instrukcjami wyświetlanymi na ekranie.

 2
Author: Ian Jones,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-11-26 16:30:34

Wtyczki Eclipse zazwyczaj zależą od innych wtyczek. Trudno namierzyć zależności. Lepiej pobrać wszystkie zależności używając update site raz, i można dystrybuować do innych dropinów Eclipse. Dla Eclipse 3.4 lub nowszych, możesz użyć dropinów, które są funkcją Eclipse. W ten sposób nie musisz instalować wtyczki ze strony aktualizacji za każdym razem, gdy musisz ponownie zainstalować Eclipse. Czytaj dalej http://michsan.web.id/content/how-install-eclipse-plugins-offline

Jeśli nie widzę sieci, dam ci jakiś opis

Przygotowanie katalogu dla zewnętrznych wtyczek

Utwórz specjalny katalog do przechowywania naszych ukochanych wtyczek, np. w /home / ichsan / eclipse-dropins zainstalujemy Maven plugin: m2eclipse.

mkdir /home/ichsan/eclipse-dropins

Na razie będziemy nazywać ten katalog jako DROPINS

Przygotowanie piaskownicy

Następnie, używając Gita stworzymy piaskownicę Eclipse. Chodzi o to, aby zainstalować jedną wtyczkę na świeżym Eclipse. Zamiast instalacja fresh Eclipse za każdym razem, gdy chcemy zainstalować nową wtyczkę, lepiej użyć Git do stworzenia nowej gałęzi fresh Eclipse.

Najpierw rozpakuj / zainstaluj nowe Eclipse do katalogu np. / home/ichsan /eclipse-sandbox (tak, że znajdziemy/home/ichsan/eclipse-sandbox / eclipse.ini). Katalog nazywamy ECLIPSE_SANDBOX.

Następnie zatwierdź nową instalację. Ten krok należy wykonać tylko raz.

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

Zainstaluj wtyczkę w piaskownicy

Teraz jest interesująca część. Przypuszczalnie musimy zainstalować wtyczkę m2eclipse. Zainstalujemy to na nowej gałęzi Git, tak aby gałąź master pozostała czysta lub nienaruszona.

cd $ECLIPSE_SANDBOX
git checkout -b "m2eclipse"

Teraz zaczynamy Eclipse of the ECLIPSE_SANDBOX i pobieramy wtyczkę. Po zakończeniu zamykamy Eclipse i sprawdzamy jakie nowe katalogi lub pliki zostały utworzone (używając Git). Pamiętaj, że dbamy tylko o nowe wtyczki i katalogi funkcji i zawartość w nich. Więc nie skopiujemy reszty do dropins.

# 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

Wystarczy skopiować katalog DROPINS/m2eclipse do ECLIPSE_HOME / dropins lub utworzyć dowiązanie symboliczne. I skończyliśmy!

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

Innym sposobem jest tworzenie kopii zapasowych różnic pomiędzy zatwierdzeniem fresh-Eclipse i zatwierdzeniem po instalacji wtyczki.

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
 2
Author: sancho21,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-05-22 09:30:41