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?
Eclipse offre un moyen de mettre en miroir ces sites automatiquement, soit via la ligne de commande, soit via des tâches ant.
$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
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 .
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:
Téléchargez le site:
wget --recursive --no-parent http://url.of/updatesite
Prenez le contenu du site de mise à jour téléchargé et déplacez-le vers votre environnement hors ligne
Vous pouvez le lire avec plus de détails ici .
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:
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 .
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.
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:
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!
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
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.
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:
eclipsec.exe -application org.Eclipse.equinox.p2.metadata.repository.mirrorApplication -source $1 -destination $2
eclipsec.exe -application org.Eclipse.equinox.p2.artifact.repository.mirrorApplication -source $1 -destination $2
Où $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.