Article updated on

Como usar maven solamente para copiar dependencias

Maven es una de las mejores herramientas usadas para desplegar y crear aplicaciones. En algunos casos sólo necesitemos usar Maven  para gestionar y copiar dependencias. En este ejemplo uso Ubuntu para bajarme varias librerías a una carpeta.

1 - Comprueba que has instalado Maven

Desde consola escribe: mvn -version

img/0/13/_011.jpeg

2 - Crea un archivo pom.xml file en el directorio "padre" del directorio donde deseas descargar las librerias

Usa este pom.xml como modelo.

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>TestMaven</groupId>
    <artifactId>TestMaven</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <properties>
        <org.springframework.version>3.2.0.RELEASE</org.springframework.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${org.springframework.version}</version>
        </dependency>
    </dependencies>
    <build>
        <sourceDirectory>src</sourceDirectory>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.7</version>
                <executions>
                    <execution>
                        <id>default-cli</id>
                        <configuration>
                            <artifactItems>
                                <artifactItem>
                                    <!-- hardcode values, or use properties, depending on what you want
                                        to do -->
                                    <groupId>TestMaven</groupId>
                                    <artifactId>TestMaven</artifactId>
                                    <version>0.0.1-SNAPSHOT</version>
                                    <type>[ packaging ]</type>
                                    <outputDirectory>${project.build.directory}/lib</outputDirectory>
                                </artifactItem>
                            </artifactItems>
                            <!-- other configurations here -->
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

 

* En mi ejemplo me estoy bajando varias dependencias de Spring, ajústalo con tus dependencias según lo necesites.

3 - Ejecuta el comando para descargar las librerías

Crea una carpeta donde deseas descargar las librerías en este ejemplo he creado un directorio "lib".

Ejecuta el siguiente comando en la consola, recuerda que debes estar en el directorio padre donde esta el pom.xml y y no en el directorio donde deseas que se descarguen las librerías. Cambia tudirectorio por lib si estás siguiendo este ejemplo.

mvn dependency:copy-dependencies -DoutputDirectory=tudirectorio -Dhttps.protocols=TLSv1.2

img/0/13/_002.jpeg

(Optional) If you want to download the sources

mvn dependency:copy-dependencies -Dclassifier=sources -DoutputDirectory=yourfoldername -Dhttps.protocols=TLSv1.2

 

4 - Comprueba que las liberías están allí

img/0/13/_010.jpeg

5 - Configura tu proxy (Sólo si es necesario)

Ve a tu carpeta de instalación de maven /conf/settings.xml (creala si no existe) y usa este xml como modelo.

<settings>
  <proxies>
   <proxy>
      <active>true</active>
      <protocol>http</protocol>
      <host>PUT-YOUR-PROXY-NAME</host>
      <port>PUT-YOUR-PORT-NUMBER</port>
      <username>proxyuser</username>
      <password>somepassword</password>
      <nonProxyHosts>www.google.com|*.somewhere.com</nonProxyHosts>
    </proxy>
  </proxies>
</settings>

 

Notas

  • Uso el maven-dependency-plugin
  • Puedes integrarlo con eclipse, no dará errores el pom.xml pero debes ejecutarlo desde consola con el comando puesto en el apartado 3