proyecto into importar dependency agregar java maven-2 netbeans jar

java - into - Cómo incluir archivos jar locales en el proyecto Maven



maven install jar (4)

Esta pregunta ya tiene una respuesta aquí:

No quiero instalar algunos archivos en un repositorio de Maven (local / remoto). En particular, tengo algunos archivos jar ubicados en

c:/work/projects/myapp/src/main/webapp/WEB-INF/lib/test.jar c:/work/projects/myapp/src/main/webapp/WEB-INF/lib/test2.jar

¿Cómo incluirlos en mi proyecto cuando se abre / edita con NetBeans?


Aunque funciona para usar la referencia de SystemPath, es mejor crear un repositorio local. Y, afortunadamente, es fácil de hacer.

Crear un repositorio local que contenga tarros no está disponible en un repositorio público

NOTA: uso Eclipse, por lo que algunas de las instrucciones son específicas de Eclipse. La mayoría son fácilmente generalizables.

Suposiciones

  • El tarro fue creado por Maven en otro proyecto con lo siguiente ...

    <groupId>com.foo</groupId> <artifactId>test</artifactId> <version>0.1.1</version> <packaging>jar</packaging>

En Project (que quiere acceder a los tarros)

  • Crear el directorio repo justo al lado del directorio base del proyecto
  • Para cada jar al que se accede localmente ...
    • agregar directorios para cada nivel del groupID (ej. / repo / com / foo )
    • agregar el nombre del jar (también conocido como artifactId) sin la versión (ej. / repo / com / foo / test )
    • agregar directorio para la versión del jar (ej. / repo / com / foo / test /0.1.1 )
    • poner el jar en ese directorio (ej. /repo/com/foo/test/0.1.1 /test-0.1.1.jar )

En pom.xml (para el proyecto que quiere acceder a las jarras)

  • Definir el repositorio local

    <repositories> <repository> <id>data-local</id> <name>data</name> <url>file://${project.basedir}/repo</url> </repository> </repositories>

  • Agregue la dependencia en el jar local. De nuestro ejemplo anterior, esto sería ...

    <dependency> <groupId>com.foo</groupId> <artifactId>test</artifactId> <version>0.1.1</version> </dependency>

Reconstruir

  • Rt haga clic en pom.xml -> Ejecutar como -> Maven build

¿Ha considerado agregar esos dos JAR como dependencias del system ? p.ej,

<project> ... <dependencies> <dependency> <groupId>sun.jdk</groupId> <artifactId>tools</artifactId> <version>1.5.0</version> <scope>system</scope> <systemPath>${java.home}/../lib/tools.jar</systemPath> </dependency> </dependencies> ... </project>

Solo una palabra de advertencia, esto NO es recomendable y debe usarse con moderación, si es que lo hace alguna vez.


En el pasado, he hecho esto creando un árbol de directorio de repositorio "local" en el proyecto mismo, y refiriéndolo a él en el POM declarando un repositorio local con una ruta relativa al proyecto.

Pero eso es un truco. (Tal vez no tan hacky - por el comentario de @ Pascal. Todavía soy un poco un principiante Maven, a pesar de usarlo durante un año más o menos).


Ninguna de las otras respuestas funcionó para mí. Tenía que ejecutar un comando ligeramente diferente ...

mvn deploy:deploy-file -Durl=file:///path/to/yourproject/repo/ -Dfile=mylib-1.0.jar -DgroupId=com.example -DartifactId=mylib -Dpackaging=jar -Dversion=1.0

Consulte los pasos completos en este artículo: https://devcenter.heroku.com/articles/local-maven-dependencies