2012-02-21 18 views
29

Estoy queriendo agregar la última versión de JGoodies Forms (1.5.0) como una dependencia, pero no puedo encontrar nada más nuevo que 1.0.5 en el repositorio principal, así que si entiendo correctamente, la siguiente mejor cosa Lo que puedo hacer es agregarlo a mi repositorio local.¿Cómo agregar un jar, source y Javadoc al repositorio local de Maven?

Cuando lo descargo del sitio web, obtengo un archivo ZIP que contiene los archivos javadoc, el código fuente y el jar (con solo archivos de clase).

¿Cuál es el procedimiento para agregar esto a mi repositorio Maven local de tal manera que Eclipse pueda ver la fuente y Javadoc? (Sólo he empezado a utilizar Maven)

+3

Tenga en cuenta que la gourpId ha cambiado desde 1.0.7, desde [JGoodies] (http://mvnrepository.com/artifact/jgoodies/forms) a [com.jgoodies] (http://mvnrepository.com/artifact/com.jgoodies/forms), la última versión que puede descargar del repositorio en línea es 1.2.1. – yorkw

Respuesta

39

actualización: A pesar de que esta es la respuesta aceptada, por favor marque la respuesta de Emmanuel Bourg abajo - su respuesta es, probablemente, lo que le gustaría hacer, especialmente si Está teniendo una versión de instantánea.


Usted puede utilizar el plugin Maven implementar para eso. Tiene un objetivo para implementar un solo archivo en cualquier repositorio. Para el frasco en sí:

mvn deploy:deploy-file \ 
    -DgroupId=com.yourname.jgoodies \ 
    -DartifactId=jgoodies-forms \ 
    -Dversion=1.50 \ 
    -Dfile=/path/to/jgoodies-1.50.jar \ 
    -Dpackaging=jar \ 
    -Durl=file://path/to/your/local/repository 

Para las fuentes:

mvn deploy:deploy-file \ 
    -DgroupId=com.yourname.jgoodies \ 
    -DartifactId=jgoodies-forms \ 
    -Dversion=1.50 \ 
    -Dfile=/path/to/jgoodies-sources.jar \ 
    -Dpackaging=jar \ 
    -Durl=file://path/to/your/local/repository \ 
    -Dclassifier=sources 

Para el javadoc:

mvn deploy:deploy-file \ 
    -DgroupId=com.yourname.jgoodies \ 
    -DartifactId=jgoodies-forms \ 
    -Dversion=1.50 \ 
    -Dfile=/path/to/jgoodies-javadoc.jar \ 
    -Dpackaging=jar \ 
    -Durl=file://path/to/your/local/repository \ 
    -Dclassifier=javadoc 

Tenga en cuenta que esto generará un POM estándar, por lo que no tendrá las dependencias de JGoodies (si las hay) se extrajeron automáticamente pero tienen que especificarlas manualmente en su proyecto.

+0

Gracias por entrar en detalles para cada declaración específica –

+12

Puede especificar los parámetros '-Djavadoc' y' -Dsources' para hacer lo mismo con un solo comando. –

3

Instalar el tarro de haber descargado usando esta mini guía:

http://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html

Debe instalar JGoodies-form-1.5.0.jar escribiendo:

mvn install:install-file -Dfile=<path-to-file>/jgoodies-form-1.5.0.jar \ 
-DgroupId=jgoodies -DartifactId=forms -Dversion=1.5.0 -Dpackaging=jar 

no se olvide hacer lo mismo con jgoodies-commons.

Para que usted sea capaz de acceder al código fuente y el javadoc contextual puede ya sea

  • descomprimir los JGoodies forman postal y hacer puntos de eclipse a la carpeta src

  • genera un jgoodies- forma-1.5.0-src.jar poniendo el directorio src en él e instalarlo en tu repositorio local de la misma manera que lo hizo para el tarro

+0

Buen punto sobre la dependencia de los jgoodies-commons. –

22

Aquí está el synt hacha para desplegar el binario, las fuentes y el Javadoc con un solo comando:

mvn deploy:deploy-file \ 
    -DgroupId=com.jgoodies \ 
    -DartifactId=jgoodies-forms \ 
    -Dversion=1.6.0 \ 
    -Dfile=jgoodies-forms-1.6.0.jar \ 
    -Dsources=jgoodies-forms-1.6.0-sources.jar \ 
    -Djavadoc=jgoodies-forms-1.6.0-javadoc.jar \ 
    -Durl=file://path/to/your/local/repository 
+0

Esta es la mejor respuesta. – javadba

+2

Es especialmente importante hacerlo de esta manera y no a la inversa si está haciendo una instantánea en lugar de una versión, ya que los identificadores de las instantáneas serán diferentes para el jar de origen frente al jar de clases de lo contrario, y Maven no sabrá que las fuentes corresponden a las clases – fragorl

+0

Actualicé mi respuesta para señalar a Emmanuel, ya que es la mejor manera de hacerlo. –

Cuestiones relacionadas