transitive provided pom library example ejemplo dependency compile maven jar maven-plugin maven-assembly-plugin

provided - ¿Cómo incluir los frascos externos en el proceso de construcción del frasco de Maven?



scope system maven (3)

Quiero construir un archivo .jar con dependencias en maven. Desafortunadamente, tengo que incluir algunos .jars externos en mi ruta de construcción. Cuando ahora trato de compilar este proyecto con el paquete maven, obtendré un error que indica que no se encontraron esos .jars externos.

¿Cómo adaptar mi archivo pom para agregar esos tarros? corriente:

<plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.6</source> <target>1.6</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>copy-dependencies</id> <phase>prepare-package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/classes/lib</outputDirectory> <overWriteReleases>false</overWriteReleases> <overWriteSnapshots>false</overWriteSnapshots> <overWriteIfNewer>true</overWriteIfNewer> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>2.2-beta-4</version> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> <executions> <execution> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> </plugins>


Necesita usar el siguiente comando para agregar un jar externo a la carpeta .m2

mvn install:install-file -Dfile=[JAR] -DgroupId=[some.group] -DartifactId=[Some Id] -Dversion=1.0.0 -Dpackaging=jar

Esto agregará el tarro dado a su carpeta .m2. Luego, vaya a pom.xm y simplemente agregue la dependencia con el ID de grupo, el ID de artefacto y la versión dados.


Puede incluir los archivos jar externos en su ruta de compilación como dependencia con <scope>system</scope> .

Revisa este link


Una solución simple para esto es agregarlo al repositorio local de maven

Una forma de hacerlo es a través de los comandos de instalación mvn como se sugirió en la publicación anterior.

Otra forma fácil es: 1) En su eclipse, haga clic derecho en el proyecto seleccione la opción Maven. 2) Seleccione Instalar o implementar un artefacto en una opción de repositorio de Maven y haga clic en siguiente. 3) Haga clic en Examinar al lado de la casilla de verificación del archivo Artefacto y seleccione su archivo JAR 4) Ingrese GroupId y ArtifactId y la versión garantizará que la generación de pom y la creación de la suma de comprobación se verifiquen y el embalaje sea jarra

Haga clic en el acabado, Wallah! su tarea está terminada, el jar se agrega en su repositorio local que puede definir en el directorio setting.xml o m2

Ahora simplemente agregue la dependencia simple de maven según la versión de GroupId, ArtifactId y jar que haya ingresado de acuerdo con la importación y eso es todo, su frasco externo será empaquetado por maven.