Configuración de plugings II (dependency)

De Wiki de EGC
Revisión del 07:07 1 dic 2015 de Ajramirez (discusión | contribuciones) (¿Vas rápido? -> Tarea adicional)
Saltar a: navegación, buscar

Copiar las dependencias con maven-dependecy-pluging. Se establecerá una carpeta dentro de target donde estarán todos los jars dependientes (cf. Dependency Plugin)

Edite el pom.xml

Añada el siguiente código

...
<plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>2.10</version>
        <executions>
          <execution>
            <id>copy-dependencies</id>
            <phase>package</phase>
            <goals>
              <goal>copy-dependencies</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/dependencias</outputDirectory>
              <includeScope> runtime </includeScope> 
            </configuration>
          </execution>
        </executions>
      </plugin>
...

Se ha configurado el plugin dependency. El objetivo copy-dependencies se ha asociado a la fase package y se ha configurado para que las dependencias de runtime se copien en la carpeta dependencias.

Cree el .jar y ejecute

mvn package
java -jar ruta_al.jar

¿Sigue fallando?

Hay que terminar de configurar el pluging Jar

Hay que añadir las referencias en el manifest. Añada las siguientes líneas de configuración del plugin Jar anterior.

...
<addClasspath>true</addClasspath>
<classpathPrefix> dependencias /</classpathPrefix>
...

¿Vas rápido? -> Tarea adicional

  • El plugin Jar se ha configurado para que, durante su ejecución dentro del ciclo de vida default, se comporte de cierta manera.
  • Sin embargo, el plugin Depencies, que no se ejecuta normalmente, se ha configurado para que sí se ejecute.
  • Haga, ahora, que se creen 2 jars, uno con la configuración que hemos indicado arriba y otro sin que tenga ninguna configuración por nuestra parte.
  • Además de tocar el atributo manifest tendrá que tocar el finalName para que cada jar tenga un nombre diferente (cf. Jar Parameters).