Author Topic: maven - como configurar pom.xml para librerias propias ubicadas en disco  (Read 131 times)

gacs

  • Full Member
  • ***
  • Posts: 140
  • Karma: 0
    • View Profile
Estoy probando maven con eclipse y netbeans quiero agregar una un jar que hice a las dependencia pero al momento no he encontrado como hacer la configuracion. de momento solo tengo esto

Code: [Select]
<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>ni.gacssoftware</groupId>
  <artifactId>libgacssoftware</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>libgacssoftware</name>
  <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.0</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

 <dependencies>
        <dependency>
               <groupId>com.toedter</groupId>
               <artifactId>jcalendar</artifactId>
               <version>1.4</version>
        </dependency>
 </dependencies>

</project>

agradesco la ayuda que me brinden
Saludos
gacs

chuidiang

  • Administrator
  • Hero Member
  • *****
  • Posts: 5449
  • Karma: 12
    • View Profile
    • Apuntes de programación
Hola:

Tienes que definir un repositorio que sea tu path en disco, algo así

Code: [Select]
<project>
  ...
  <repositories>
    <repository>
      <id>my-internal-site</id>
      <url>file://path/de/tus/jar</url>
    </repository>
  </repositories>
  ...
</project>

y dentro de ese directorio, siguiendo una estructura de directorios de repositorio de maven, dejar tus jar. Por ejemplo, si la dependencia que quieres poner es

Code: [Select]
<groupId>tu.group.id</groupdId>
<artifactId>tuartifactid</artifactId>
<version>1.0</version>

tienes que crear un directorio /tu/group/id/1.0 y meter dentro el jar.

Aquí tienes este ejemplo y un par de opciones más http://roufid.com/3-ways-to-add-local-jar-to-maven-project/

Saludos

gacs

  • Full Member
  • ***
  • Posts: 140
  • Karma: 0
    • View Profile
gracias voy a probar. veo que para el que tiene un ancho de banda bajo, trabajar con maven es un dolor de cabeza por cada ves que compila baja las librerias que se espesifican en pom.xml     
Saludos
gacs

chuidiang

  • Administrator
  • Hero Member
  • *****
  • Posts: 5449
  • Karma: 12
    • View Profile
    • Apuntes de programación
Hola:

Las baja la primera vez, una vez están en tu repositorio local de maven (habitualmente en <tu_home>/.m2/repository), ya no necesita barjárselas nuevamente.

Saludos.

gacs

  • Full Member
  • ***
  • Posts: 140
  • Karma: 0
    • View Profile
Gracias sensei parece que el problema es netbeans que descarga los repositorio cada ves que ingreso a netbeans, voy a seguir buscando alguna configuracion en netbeans
Saludos
gacs

gacs

  • Full Member
  • ***
  • Posts: 140
  • Karma: 0
    • View Profile
Estoy usando netbeans en un contenedor (docker) eso me llevaba a que cada ves que iniciaba netbean, iniciaba desde cero.

y para que mi jar pueda servir en otra aplicacion como una libreria solo ejecute
Code: [Select]
mvn install

Esa sentencia agrega a los repositorio locales (~/.m2) mi archivo jar y en el pom de la aplicación  agregue

<dependencies>
 ....
       <dependency>
            <groupId>tu.group.id</groupdId>
            <artifactId>tuartifactid</artifactId>
            <version>1.0</version>
        </dependency>
....
</dependencies>

el cual lo tome de un maven-metadata-local.xml que se encuentra dentro del repositorio que crea maven de mi jar

gracias por la ayuda
Saludos
gacs

 

ey