2009-08-10 14 views
9

Necesito instalar un plugin eclipse en una máquina no conectada a Internet y no puedo encontrar un dist para una instalación local.Herramienta para descargar plugins de eclipse desde los sitios de actualización

¿Hay alguna herramienta para descargar un complemento desde un sitio de actualización y crear un archivo de instalación local (o un sitio de actualización local)? Los rumores dicen que puedes hacer esto con Eclipse, pero no puedo encontrar ninguna información sobre cómo hacerlo.

+0

No está claro maven-2 es aquí. ¿Hay alguna información de fondo que haya omitido, o debería etiquetarse como "eclipse"? –

+0

ensucia las etiquetas, lo siento por eso. – mafro

+0

Parece que la respuesta de @ PeterŠtibraný a continuación no funciona, al menos en algunos casos y con Eclipse Kepler. ¿Podría verificar si esto todavía funciona para usted? – einpoklum

Respuesta

12

Puede usar P2 mirror tool (o P2 mirror in Galileo documentation) para duplicar los metadatos remotos y el repositorio de artefactos.

Aquí es comando de ejemplo para reflejar artefactos Galileo repositorio local: (. En primer lugar espejos de mando de metadatos, segundo espejos artefactos de comandos debe estar en una línea de ventanas)

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/ 

Después de ejecutar estos comandos , puede usar file:d:/temp/galileo como un espejo local.

Como alternativa, puede usar P2 Mirror Ant Task, que le permite especificar las unidades instalables (complementos o funciones) para duplicar. Nota: cuando se especifica función, no se olvide de utilizar .feature.group sufijo)

+0

Exactamente la herramienta que estaba buscando, ¡gracias! – mafro

+0

Para ser sincero, todavía no estoy seguro de cómo funciona exactamente: si duplicar solo los artefactos y dejar que P2 Publisher genere metadatos, o si debe reflejar tanto los artefactos como los metadatos. Por favor comparta sus hallazgos cuando tenga éxito. Gracias. –

+1

Respuesta actualizada: cuando ejecuto ambos comandos (metadatos reflejados, repositorio espejo), obtuve el sitio de actualización correcto para uso local. Probé con http://download.eclipse.org/tools/mylyn/update/weekly/e3.4 –

2

Ahora también hay un soporte para sitios p2 reflejan en el experto en el uso de plugins tycho: http://wiki.eclipse.org/Tycho/Additional_Tools

Una de las ventajas es que se puede con mucha precisión especifique lo instalable une desea reflejar, para lo cual os/WS/arco, ...

por ejemplo para reflejar Eclipse Indigo permite utilizar las siguientes pom.xml lo que la conexión

<?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> 
Cuestiones relacionadas