Инструмент для загрузки плагинов eclipse с сайтов обновлений
-
12-09-2019 - |
Вопрос
Мне нужно установить плагин eclipse на компьютер, не подключенный к Интернету, и я не могу найти dist для локальной установки.
Существует ли инструмент для загрузки плагина с сайта обновления и создания локального установочного архива (или локального сайта обновления)?Ходят слухи, что вы можете сделать это с помощью eclipse, но я не могу найти никакой информации о том, как это сделать.
Решение
Вы можете использовать Инструмент для зеркального отображения P2 (или Зеркало P2 в документации Galileo) для зеркального отображения удаленного хранилища метаданных и артефактов.
Вот пример команды для локального зеркального отображения хранилища артефактов Galileo:
eclipse\eclipsec.exe -nosplash -verbose
-application org.eclipse.equinox.p2.metadata.repository.mirrorApplication
-source http://download.eclipse.org/releases/galileo
-destination file:d:/temp/galileo/
eclipse\eclipsec.exe -nosplash -verbose
-application org.eclipse.equinox.p2.artifact.repository.mirrorApplication
-source http://download.eclipse.org/releases/galileo
-destination file:d:/temp/galileo/
(Первая команда отражает метаданные, вторая отражает артефакты.Команда должна быть в одной строке в Windows)
После выполнения этих команд вы можете использовать file:d:/temp/galileo
как местное зеркало.
В качестве альтернативы вы можете использовать P2 Зеркальная Муравьиная задача, который позволяет вам указать устанавливаемые модули (плагины или функции) для зеркального отображения.Примечание:при указании функции не забудьте использовать .feature.group
суффикс)
Другие советы
Теперь также существует поддержка зеркального отображения сайтов p2 в maven с использованием плагинов tycho: http://wiki.eclipse.org/Tycho/Additional_Tools
Одним из преимуществ является то, что вы можете очень точно указать, какие устанавливаемые модули вы хотите зеркально отобразить, для какой os / ws / arch, ...
Например, чтобы отразить Eclipse Indigo, вы можете использовать следующее pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>mirroring</groupId>
<artifactId>indigo-mirror</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
<tycho.version>0.16.0</tycho.version>
</properties>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.5</version>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-repository-plugin</artifactId>
<version>${tycho.version}</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.eclipse.tycho.extras</groupId>
<artifactId>tycho-p2-extras-plugin</artifactId>
<version>${tycho.version}</version>
<executions>
<execution>
<phase>prepare-package</phase>
<goals>
<goal>mirror</goal>
</goals>
</execution>
</executions>
<configuration>
<source>
<!-- source repositories to mirror from -->
<repository>
<url>http://ftp.sh.cvut.cz/MIRRORS/eclipse/releases/indigo/</url>
<layout>p2</layout>
<!-- supported layouts are "p2-metadata", "p2-artifacts", and "p2" (for joint repositories; default) -->
</repository>
</source>
<!-- The destination directory to mirror to. -->
<destination>${project.build.directory}/repository</destination>
<!-- Whether only strict dependencies should be followed. -->
<!-- "strict" means perfect version match -->
<followStrictOnly>false</followStrictOnly>
<!-- Whether or not to follow optional requirements. -->
<includeOptional>true</includeOptional>
<!-- Whether or not to follow non-greedy requirements. -->
<includeNonGreedy>true</includeNonGreedy>
<!-- include the latest version of each IU -->
<latestVersionOnly>false</latestVersionOnly>
<!-- don't mirror artifacts, only metadata -->
<mirrorMetadataOnly>false</mirrorMetadataOnly>
<!-- whether to compress the content.xml/artifacts.xml -->
<compress>true</compress>
<!-- whether to append to the target repository content -->
<append>true</append>
<!-- whether to mirror pack200 artifacts also. Available since tycho-extras 0.17.0 -->
<verbose>true</verbose>
<includePacked>true</includePacked>
</configuration>
</plugin>
</plugins>
</build>
</project>
Вы могли бы найти Создание пользовательского пакета Eclipse полезно, хотя это, вероятно, немного тяжеловеснее того, что вам нужно.