web-dev-qa-db-fra.com

Téléchargement des sites de mise à jour du plug-in Eclipse pour une installation hors ligne

Un plug-in que je souhaite installer fournit un site de mise à jour pour l'installation. Cependant, l'installation d'Eclipse sur laquelle je veux l'installer se trouve sur une machine qui n'est pas connectée à Internet. Existe-t-il un moyen pour moi d'accéder au site (HTTP, FTP, etc.) pour télécharger les fichiers qu'il contient pour une installation hors ligne?

71
Chry Cheng

Eclipse offre un moyen de mettre en miroir ces sites automatiquement, soit via la ligne de commande, soit via des tâches ant.

Miroir basé sur les informations 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

Référence: mise en miroir du référentiel Equinox p2

Miroir basé sur les informations site.xml

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

Référence: Exécution du gestionnaire de mise à jour à partir de la ligne de commande

Vous pouvez suivre l'évolution de ces scripts dans mon dépôt de scripts .

57
Robert Munteanu

Après avoir lutté avec la mise en miroir pendant un certain temps, j'ai réalisé qu'il était beaucoup plus facile (au moins pour moi) d'utiliser "wget" à la place.

En bref:

  1. Téléchargez le site:

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

  2. Prenez le contenu du site de mise à jour téléchargé et déplacez-le vers votre environnement hors ligne

  3. Ajoutez votre répertoire de site de mise à jour hors ligne à la liste des sites de logiciels disponibles via le bouton "Local ...".

Vous pouvez le lire avec plus de détails ici .

11
Anton

La plupart des plug-ins Eclipse peuvent être installés sans le programme de mise à jour Eclipse, en copiant les fichiers JAR requis disponibles sur le site de mise à jour, dans les répertoires des plug-ins et des fonctionnalités de l'installation Eclipse.

Dans certains cas, il est nécessaire de démarrer Eclipse avec un commutateur -clean.

Voici un exemple de procédure à suivre pour le plugin m2Eclipse:

  1. Le site de mise à jour m2Eclipse est http://m2Eclipse.sonatype.org/update . L'identification de la liste des fichiers JAR requis est la première étape. Cela se trouve normalement dans le fichier site.xml; dans ce cas, vous le trouverez dans http://m2Eclipse.sonatype.org/update/site.xml .
  2. Filtrez la liste des fichiers JAR à télécharger dans la version du plugin que vous souhaitez utiliser. Cela peut être déterminé par l'attribut de version pour chaque "fonctionnalité". Si vous êtes chanceux, vous trouverez la description du JAR dans le nœud de catégorie.
  3. Notez l'attribut url de chaque fichier JAR à télécharger. Cela inclura le sous-répertoire du serveur où le JAR est disponible, ainsi que le répertoire de l'installation Eclipse où ils doivent être placés.

PS: Cette méthode est un peu hackish, mais elle est basée sur référence du plan du site . Mais référez-vous à la mise à jour

Mise à jour

Je n'ai pas tenté cela, mais vous pouvez créer un site miroir local, à partir duquel tout le monde peut récupérer les plug-ins Eclipse. Dans Galileo, cela peut être fait en exécutant le programme de mise à jour Eclipse en mode autonome via la commande miroir .

9
Vineet Reynolds

Vous pouvez mettre en miroir des sites p2 à l'aide de tâches 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>

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

Pour que cela fonctionne, vous devez exécuter des tâches ant dans la même machine virtuelle Java qu'Eclipse.

Vous pouvez trouver les ID IU en ouvrant "Mises à jour logicielles" et en les copiant à partir de là. Dans Eclipse 3.5, il devrait y avoir un bouton Plus ..., dans 3.4, vous devez cliquer sur le bouton Propriétés.

5
ILX

J'ai trouvé que le p2 mirrorApplication ne fonctionnait pas très bien sur certains sites et les artefacts dupliqués en miroir (à la fois la version pack200 et jar). L'agrégateur b3 a fonctionné beaucoup mieux et a facilité la personnalisation de mon site de mise à jour. Voir le manuel à: https://wiki.Eclipse.org/Eclipse_b3/aggregator/manual pour les instructions d'installation et les détails.

Les étapes de base que j'ai utilisées étaient:

  • Fichier> Nouveau> Autre ...> b3> Agrégation de référentiel.
  • Sélectionnez le nœud d'agrégation et définissez le Build Root dans le dossier où vous souhaitez que le référentiel agrégé aille.
  • Ajoutez les plates-formes qui vous intéressent en utilisant R-cliquez sur le nœud d'agrégation > Nouvel enfant> Configuration.
  • Ajoutez un ensemble de validation , définissez normalement son Label sur main.
  • Si vous n'avez pas besoin de bundles supplémentaires depuis le référentiel principal d'Eclipse (ie: http://download.Eclipse.org/releases/mars ), vous pouvez l'ajouter au Validation Set as a Validation Repository , mais en général, vous devrez l'ajouter en tant que Référentiel mappé sous une contribution afin que les dépendances et/ou les fonctionnalités Eclipse supplémentaires puissent être téléchargées .
  • Pour chaque plugin, ajoutez une contribution avec une Label, et sous celle-ci au moins une Référentiel mappé avec un Emplacement.
  • Ajoutez les nœuds de catégorie personnalisée aux agrégations si vous le souhaitez; donnez-leur chacun un Description, Identifiant et Étiquette unique.
  • Développez le nœud Navigateur de référentiel en bas> développez l'URL du référentiel> développez les Unités installables > Regardez les fonctionnalités sous Catégories (si présentes) et/ou sous Caractéristiques .
  • R-cliquez sur les fonctionnalités souhaitées et Ajouter à la catégorie personnalisée (si vous les utilisez), sinon Ajouter au référentiel mappé parent en tant que> Fonction mappée.
  • R-cliquez sur n'importe quel nœud> Build Aggregation.

Remarque importante: si vous ne mappez aucune fonctionnalité d'un référentiel donné, ce référentiel entier sera mis en miroir (les dernières versions de tous les bundles, je pense, pas vraiment tout dans le repo).

Heureusement, je n'ai pas eu à jouer avec les règles d'exclusion ou les règles de configuration valides, qui semblent compliquer les choses. Cependant, des règles d'exclusion peuvent être nécessaires si les référentiels contiennent des bundles qui ont des conflits de dépendance, auquel cas un ou plusieurs bundles en conflit doivent être exclus.

Alors que b3 Aggregator ne télécharge normalement que la dernière version de chaque fonctionnalité que vous avez mappée (et ses dépendances), si vous utilisez à plusieurs reprises Build Aggregation au fil du temps au fur et à mesure que de nouvelles versions sont publiées, les versions obsolètes s'accumuleront dans votre agrégation. Vous pouvez utiliser Nettoyer puis construire l'agrégation mais cela signifie que vous devrez tout télécharger à nouveau. À la place, ajoutez simplement un autre fichier d'agrégation .b3aggr, définissez la racine de génération, ajoutez vos configurations et ajoutez une contribution avec un référentiel mappé en utilisant le chemin d'accès au répertoire final de votre miroir local. Ne mappez aucune entité et ne créez aucune catégorie. Ensuite, créez l'agrégation et seules les dernières versions de votre miroir seront agrégées!

3
PolyTekPatrick

Les plugins Eclipse dépendent généralement d'autres plugins. C'est un peu difficile de tracer les dépendances. Il est préférable de télécharger toutes les dépendances à l'aide du site de mise à jour une fois, et vous pouvez les distribuer à d'autres dropins Eclipse. Pour Eclipse 3.4 ou plus récent, vous pouvez utiliser des dropins qui sont une fonctionnalité Eclipse. De cette façon, vous n'avez pas besoin d'installer le plugin à partir du site de mise à jour chaque fois que vous devez réinstaller votre Eclipse. Lisez la suite http://michsan.web.id/content/how-install-Eclipse-plugins-offline

Si vous ne voyez pas le Web, je vais vous donner une description

Préparer le répertoire pour les plugins externes

Créez un répertoire spécial pour contenir nos plugins préférés, par exemple dans/home/ichsan/Eclipse-dropins nous installerons le plugin Maven: m2Eclipse.

mkdir /home/ichsan/Eclipse-dropins

Pour l'instant, nous appellerons ce répertoire comme DROPINS

Préparation du bac à sable

Ensuite, en utilisant Git, nous créerons un sandbox Eclipse. Le point est d'installer un plugin sur une nouvelle Eclipse. Au lieu d'installer une nouvelle Eclipse chaque fois que nous voulons installer un nouveau plugin, nous ferions mieux d'utiliser Git pour créer une nouvelle branche d'Eclipse fraîche.

Tout d'abord, extrayez/installez le nouvel Eclipse dans un répertoire, par ex./home/ichsan/Eclipse-sandbox (afin que nous trouvions /home/ichsan/Eclipse-sandbox/Eclipse.ini). Nous appelons le répertoire Eclipse_SANDBOX.

Ensuite, validez la nouvelle installation. Cette étape ne doit être effectuée qu'une seule fois.

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

Installer le plugin sur le bac à sable

C'est maintenant la partie intéressante. Supposons que nous devions installer le plugin m2Eclipse. Nous allons l'installer sur la nouvelle branche Git afin que la branche principale reste propre ou reste intacte.

cd $Eclipse_SANDBOX
git checkout -b "m2Eclipse"

Maintenant, nous commençons l'Eclipse de Eclipse_SANDBOX et téléchargeons le plugin. Une fois que nous avons terminé, nous fermons Eclipse et vérifions quels nouveaux répertoires ou fichiers ont été créés (à l'aide de Git). N'oubliez pas que nous ne nous soucions que des nouveaux plugins et répertoires de fonctionnalités et du contenu qu'ils contiennent. Donc, nous ne copierons pas le reste dans des 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

Copiez simplement le répertoire de DROPINS/m2Eclipse dans Eclipse_HOME/dropins ou créez un lien symbolique. Et nous avons terminé!

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

Une autre façon consiste à sauvegarder les différences entre la validation fresh-Eclipse et la validation après l'installation du plug-in.

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

Vous pouvez l'obtenir à partir d'ici https://repository.sonatype.org/content/repositories/forge-sites/m2e/1.3.0/N/1.3.0.20121023-1108/

Téléchargez tous les fichiers en explorant les plugins et les fonctionnalités. Stockez dans un répertoire sur votre machine en gardant tout dans la même structure de répertoire. Déplacez-le dans un dossier sur votre machine de développement.

Dans Eclipse, accédez à Aide | Intall New Software ... Appuyez sur le bouton "Ajouter" Appuyez sur le bouton "Local ..." Recherchez le répertoire dans lequel vous avez déposé les fichiers. Suivez les instructions à l'écran.

2
Ian Jones

Je viens de faire face à ce problème et l'ai résolu en suivant les instructions de ce guide . En résumé, exécutez les commandes suivantes sur votre terminal dans le dossier 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 fait référence à l'URL du référentiel en ligne et $2 fait référence au chemin d'accès au dossier local. Par exemple. pour télécharger Vrapper sur mon bureau Windows:

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

$ 2 = C:/Users/foo/Desktop

Transférez le dossier sur la machine sans connexion Internet. Ensuite, lancez Eclipse -> Aide> Installer un nouveau logiciel. Spécifiez le référentiel local (c'est-à-dire le dossier que vous venez de transférer) pour l'installation. Cela devrait fonctionner.

1
Zhiyuan-Amos