Инструмент для загрузки плагинов eclipse с сайтов обновлений

Мне нужно установить плагин eclipse на машину, не подключенную к Интернету, и я не могу найти дистрибутив для локальной установки.

Есть ли инструмент для загрузки плагина с сайта обновлений и создания локального установочного архива (или локального сайта обновлений)? Ходят слухи, что это можно сделать с помощью eclipse, но я не могу найти никакой информации о том, как это сделать.


person mafro    schedule 10.08.2009    source источник
comment
Непонятно, какое здесь соединение maven-2. Есть ли какая-то справочная информация, которую вы упустили, или это должно быть помечено как затмение?   -  person Rich Seller    schedule 11.08.2009
comment
Напутал теги, извините за это.   -  person mafro    schedule 11.08.2009
comment
Кажется, что ответ @ PeterŠtibraný ниже не работает, по крайней мере, в некоторых случаях и с Eclipse Kepler. Не могли бы вы проверить, работает ли это у вас по-прежнему?   -  person einpoklum    schedule 09.01.2014


Ответы (3)


Вы можете использовать инструмент зеркала 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/

(Первая команда отражает метаданные, вторая - артефакты. Команда должна быть в одной строке в окнах)

После выполнения этих команд вы можете использовать file:d:/temp/galileo в качестве локального зеркала.

В качестве альтернативы вы можете использовать P2 Mirror Ant Task, который позволяет указать устанавливаемые модули (плагины или функции) для зеркалирования. Примечание: при указании функции не забудьте использовать суффикс .feature.group)

person Peter Štibraný    schedule 11.08.2009
comment
Честно говоря, я до сих пор не уверен, как именно это работает: зеркалировать ли только артефакты и позволить P2 Publisher генерировать метаданные, или зеркалировать и артефакты, и метаданные. Пожалуйста, поделитесь своими выводами, когда у вас все получится. Спасибо. - person Peter Štibraný; 11.08.2009
comment
Обновленный ответ: когда я запускаю обе команды (зеркальные метаданные, зеркальный репозиторий), я получил правильный сайт обновления для локального использования. Я тестировал с помощью download.eclipse.org/tools/mylyn/update/weekly /e3.4 - person Peter Štibraný; 11.08.2009
comment
Я использовал команду зеркального артефакта и загруженные файлы локально, и это работало как шарм. Еще не испытал задачу муравья. Спасибо, Питер, за твою помощь. - person mafro; 11.08.2009
comment
Я попытался сделать это и дошел до того, что Eclipse попросил меня утвердить лицензию, но после этого он пытается перейти к исходным файлам в онлайн-репозитории - так что это не работает как есть! @ PeterŠtibraný, помогите пожалуйста ... - person einpoklum; 09.01.2014
comment
@einpoklum: Извините, я не могу вам помочь, я больше не использую Eclipse. Попробуйте задать здесь новый вопрос о SO с более подробной информацией, может быть, кто-нибудь может помочь. - person Peter Štibraný; 09.01.2014

Теперь также есть поддержка зеркалирования сайтов 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>
person fikovnik    schedule 18.11.2012

Вы можете найти создание собственного пакета Eclipse полезным, хотя он, вероятно, немного тяжелее того, что вам нужно.

person Robert Munteanu    schedule 11.08.2009