it-swarm.com.de

Herunterladen von Eclipse-Plug-in-Aktualisierungssites für die Offline-Installation

Ein Plug-In, das ich installieren möchte, stellt eine Aktualisierungssite für die Installation bereit. Die Eclipse-Installation, auf der ich sie installieren möchte, befindet sich jedoch auf einem Computer, der nicht mit dem Internet verbunden ist. Kann ich auf die Site (HTTP, FTP usw.) zugreifen, um die darin enthaltenen Dateien für die Offline-Installation herunterzuladen?

71
Chry Cheng

Eclipse bietet die Möglichkeit, diese Sites automatisch über die Befehlszeile oder über Ant-Tasks zu spiegeln.

Spiegeln basierend auf P2-Informationen

$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

Referenz: Equinox p2-Repository-Spiegelung

Spiegeln basierend auf den site.xml-Informationen

Java -jar $Eclipse_home/plugins/org.Eclipse.equinox.launcher_*.jar -application org.Eclipse.update.core.standaloneUpdate -command mirror -from $from -to $to

Referenz: Ausführen des Update Managers über die Befehlszeile

Sie können die Entwicklung dieser Skripte in meinem Skript-Repository verfolgen.

57
Robert Munteanu

Nachdem ich einige Zeit mit Spiegeln zu kämpfen hatte, wurde mir klar, dass es (zumindest für mich) viel einfacher ist, stattdessen "wget" zu verwenden.

Zusamenfassend:

  1. Laden Sie die Website herunter:

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

  2. Nehmen Sie den Inhalt der heruntergeladenen Update-Site und verschieben Sie ihn in Ihre Offline-Umgebung

  3. Fügen Sie Ihr Offline-Update-Site-Verzeichnis über die Schaltfläche "Lokal ..." zur Liste der verfügbaren Software-Sites hinzu.

Sie können darüber mit mehr Details lesen hier .

11
Anton

Die meisten Eclipse-Plug-Ins können ohne den Eclipse-Updater installiert werden, indem die auf der Aktualisierungssite verfügbaren erforderlichen JAR-Dateien in die Plug-Ins und Featureverzeichnisse der Eclipse-Installation kopiert werden.

In bestimmten Fällen muss Eclipse mit einem -clean-Schalter gestartet werden.

Hier ist ein Beispiel, wie dies für das m2Eclipse-Plugin gemacht wird:

  1. Die m2Eclipse-Aktualisierungssite lautet http://m2Eclipse.sonatype.org/update . Das Ermitteln der Liste der erforderlichen JARs ist der erste Schritt. Dies ist normalerweise in der Datei site.xml zu finden. In diesem Fall finden Sie es unter http://m2Eclipse.sonatype.org/update/site.xml .
  2. Filtern Sie die Liste der herunterzuladenden JARs in die Version des Plugins, das Sie verwenden möchten. Dies kann durch das Versionsattribut für jedes "Feature" bestimmt werden. Wenn Sie Glück haben, finden Sie die Beschreibung der JAR im Kategorie-Knoten.
  3. Beachten Sie das URL-Attribut jeder JAR, die heruntergeladen werden muss. Dies umfasst das Unterverzeichnis auf dem Server, auf dem die JAR verfügbar ist, sowie das Verzeichnis in der Eclipse-Installation, in dem sie abgelegt werden müssen.

PS: Diese Methode ist ein bisschen hackisch, basiert aber auf Site-Map-Referenz . Aber beziehen Sie sich auf das Update

Update

Ich habe es nicht versucht, aber Sie können eine lokale Spiegel-Site erstellen, von der aus alle anderen die Eclipse-Plug-Ins abrufen können. In Galileo können Sie dazu den Eclipse-Updater im Standalone-Modus über den Befehl mirror ausführen.

9
Vineet Reynolds

Sie können p2-Sites mit Ant-Tasks spiegeln:

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

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

Damit dies funktioniert, müssen Sie Ant-Tasks in derselben JVM wie Eclipse ausführen.

Sie finden die IU-IDs, indem Sie "Software-Updates" öffnen und von dort kopieren. In Eclipse 3.5 sollte es eine Schaltfläche Mehr ... geben, in 3.4 müssen Sie auf die Schaltfläche Eigenschaften klicken.

5
ILX

Ich habe festgestellt, dass die p2 mirrorApplication auf einigen Websites nicht sehr gut funktioniert und doppelte Artefakte gespiegelt hat (sowohl die pack200- als auch die jar-Version). Der b3 Aggregator funktionierte viel besser und erleichterte das Anpassen meiner Update-Site. Anweisungen und Details zur Installation finden Sie im Handbuch unter: https://wiki.Eclipse.org/Eclipse_b3/aggregator/manual .

Die grundlegenden Schritte, die ich verwendet habe, waren:

  • Datei> Neu> Andere ...> b3> Repository-Aggregation.
  • Wählen Sie den Knoten Aggregation und setzen Sie Build Root auf den Ordner, in den das aggregierte Repo verschoben werden soll.
  • Fügen Sie die gewünschten Plattformen hinzu, indem Sie mit der rechten Maustaste auf den Knoten Aggregation> New Child> Configuration klicken.
  • Add one Validation Set, normalerweise setze sein Label auf main.
  • Wenn Sie keine zusätzlichen Bundles aus dem Haupt-Eclipse-Repository benötigen (dh: http://download.Eclipse.org/releases/mars ), können Sie diese zur Validierung hinzufügen Setzen Sie als Validierungs-Repository, aber normalerweise müssen Sie es als zugeordnetes Repository unter Beitrag hinzufügen, um Abhängigkeiten und/oder Zusätzliche Eclipse-Funktionen können heruntergeladen werden.
  • Fügen Sie für jedes Plugin ein Contribution mit einem Label und darunter mindestens ein Mapped Repository mit einem Location.
  • Fügen Sie Benutzerdefinierte Kategorie Knoten zu Aggregation hinzu, wenn Sie möchten; Geben Sie ihnen jeweils eine eindeutige Beschreibung, Kennung und Bezeichnung.
  • Erweitern Sie den Knoten Repository Browser unten> erweitern Sie die Repository-URL> erweitern Sie den Knoten Installable Units> Sehen Sie sich die Funktionen unter Categories an (falls vorhanden) und/oder unter Features.
  • Klicken Sie erneut auf die gewünschten Features und auf Zur benutzerdefinierten Kategorie hinzufügen (falls Sie diese verwenden). Andernfalls klicken Sie auf Zu übergeordnetem zugeordnetem Repository hinzufügen als> Zugeordnetes Feature.
  • Klicken Sie erneut auf einen beliebigen Knoten> Aggregation erstellen.

Wichtiger Hinweis: Wenn Sie keine Features aus einem bestimmten Repository zuordnen, wird dieses gesamte Repository gespiegelt (die neuesten Versionen aller Bundles, glaube ich, nicht wirklich alle im Repository).

Ich musste mich zum Glück nicht mit Ausschlussregeln oder gültigen Konfigurationsregeln herumschlagen, was die Dinge anscheinend komplizierter macht. Ausschlussregeln können jedoch erforderlich sein, wenn die Repositorys Bundles mit Abhängigkeitskonflikten enthalten. In diesem Fall müssen ein oder mehrere in Konflikt stehende Bundles ausgeschlossen werden.

Während b3 Aggregator normalerweise nur die neueste Version jedes von Ihnen zugeordneten Features (und seiner Abhängigkeiten) herunterlädt, sammeln sich die veralteten Versionen an, wenn Sie im Laufe der Zeit wiederholt Build Aggregation verwenden, wenn neue Versionen veröffentlicht werden Ihre Aggregation. Sie könnten Clean then Build Aggregation verwenden, aber dies bedeutet, dass Sie alles neu herunterladen müssen. Fügen Sie stattdessen einfach eine weitere .b3aggr-Aggregationsdatei hinzu, legen Sie den Build-Stamm fest, fügen Sie Ihre Konfigurationen hinzu und fügen Sie einen Beitrag mit einem zugeordneten Repository hinzu, indem Sie den Pfad zum final -Verzeichnis Ihres lokalen Spiegels verwenden. Ordnen Sie keine Features zu oder erstellen Sie keine Kategorien. Dann Build Aggregation und nur die neuesten Versionen von Ihrem Spiegel werden aggregiert!

3
PolyTekPatrick

Eclipse-Plugins hängen normalerweise von anderen Plugins ab. Es ist schwierig, die Abhängigkeiten aufzuspüren. Es ist besser, alle Abhängigkeiten mithilfe der Update-Site einmal herunterzuladen und sie an andere Eclipse-Dropins zu verteilen. Ab Eclipse 3.4 können Sie Dropins verwenden, eine Eclipse-Funktion. Auf diese Weise müssen Sie das Plugin nicht jedes Mal von der Update-Site installieren, wenn Sie Eclipse erneut installieren müssen. Lesen Sie weiter http://michsan.web.id/content/how-install-Eclipse-plugins-offline

Wenn Sie das Web nicht sehen können, gebe ich Ihnen eine Beschreibung

Verzeichnis für externe Plugins vorbereiten

Erstellen Sie ein spezielles Verzeichnis für unsere geliebten Plugins, z. In/home/ichsan/Eclipse-dropins installieren wir das Maven-Plugin: m2Eclipse.

mkdir /home/ichsan/Eclipse-dropins

Im Moment nennen wir dieses Verzeichnis DROPINS

Sandbox vorbereiten

Als Nächstes erstellen wir mit Git eine Eclipse-Sandbox. Der Punkt ist, ein Plugin auf einer neuen Eclipse zu installieren. Anstatt jedes Mal, wenn wir ein neues Plugin installieren möchten, wird Git verwendet, um einen neuen Zweig von fresh Eclipse zu erstellen.

Extrahieren/installieren Sie zuerst eine neue Eclipse in ein Verzeichnis, z./home/ichsan/Eclipse-sandbox (damit wir /home/ichsan/Eclipse-sandbox/Eclipse.ini finden). Wir nennen das Verzeichnis Eclipse_SANDBOX.

Führen Sie als Nächstes die Neuinstallation durch. Dieser Schritt sollte nur einmal ausgeführt werden.

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

Plugin auf Sandbox installieren

Nun ist der interessante Teil. Angenommen, wir müssen das m2Eclipse-Plugin installieren. Wir werden dies auf einem neuen Git-Zweig installieren, damit der Master-Zweig sauber bleibt oder intakt bleibt.

cd $Eclipse_SANDBOX
git checkout -b "m2Eclipse"

Jetzt starten wir die Eclipse der Eclipse_SANDBOX und laden das Plugin herunter. Sobald wir fertig sind, fahren wir die Eclipse herunter und überprüfen, welche neuen Verzeichnisse oder Dateien erstellt wurden (mit Git). Denken Sie daran, wir kümmern uns nur um neue Plugins und Feature-Verzeichnisse und deren Inhalt. Also werden wir den Rest nicht in Dropins kopieren.

# 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

Kopieren Sie einfach das Verzeichnis von DROPINS/m2Eclipse in Eclipse_HOME/dropins oder erstellen Sie einen symbolischen Link. Und wir sind fertig!

cd $Eclipse_HOME/dropins ln -s $DROPINS/m2Eclipse

Eine andere Möglichkeit besteht darin, die Unterschiede zwischen dem Festschreiben von Fresh-Eclipse und dem Festschreiben nach der Plug-In-Installation zu sichern.

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
sancho21

Sie können es hier herunterladen https://repository.sonatype.org/content/repositories/forge-sites/m2e/1.3.0/N/1.3.0.20121023-1108/

Laden Sie alle Dateien herunter, die sich mit Plugins und Funktionen befassen. Speichern Sie alles in einem Verzeichnis auf Ihrem Computer und behalten Sie dabei die gleiche Verzeichnisstruktur bei. Verschieben Sie es in einen Ordner auf Ihrem Entwicklungscomputer.

Gehen Sie in Eclipse zu Hilfe | Neue Software installieren ... Klicken Sie auf die Schaltfläche 'Hinzufügen'. Klicken Sie auf die Schaltfläche 'Lokal ...'. Suchen Sie nach dem Verzeichnis, in das Sie die Dateien abgelegt haben. Folge den Anweisungen auf dem Bildschirm.

2
Ian Jones

Ich habe mich gerade mit diesem Problem befasst und es gelöst, indem ich den Anweisungen in dieser Anleitung gefolgt bin. Führen Sie zusammenfassend die folgenden Befehle auf Ihrem Terminal im Eclipse-Ordner aus:

  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

Woher $1 verweist auf die URL zum Online-Repository und $2 bezieht sich auf den Pfad zum lokalen Ordner. Z.B. So laden Sie Vrapper auf meinen Windows-Desktop herunter:

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

$ 2 = C:/Users/foo/Desktop

Übertragen Sie den Ordner ohne Internetverbindung auf das Gerät. Starten Sie dann Eclipse -> Hilfe> Neue Software installieren. Geben Sie das lokale Repository (d. H. Den Ordner, den Sie gerade übertragen haben) für die Installation an. Das sollte funktionieren.

1
Zhiyuan-Amos