¿Alguien tiene alguna idea si puede encontrar JAR de origen en los repositorios de Maven?
¿Alguien tiene alguna idea si puede encontrar JAR de origen en los repositorios de Maven?
Respuestas:
Maven Micro-Tip: Obtenga fuentes y Javadocs
Cuando usa Maven en un IDE, a menudo encuentra la necesidad de que su IDE resuelva el código fuente y los Javadocs para las dependencias de su biblioteca. Hay una manera fácil de lograr ese objetivo.
mvn dependency:sources mvn dependency:resolve -Dclassifier=javadoc
El primer comando intentará descargar el código fuente para cada una de las dependencias en su archivo pom.
El segundo comando intentará descargar los Javadocs.
Maven está a merced de los empaquetadores de la biblioteca aquí. Entonces, algunos de ellos no tendrán el código fuente empaquetado y muchos de ellos no tendrán Javadocs.
En caso de que tenga muchas dependencias, también podría ser una buena idea usar inclusiones / exclusiones para obtener artefactos específicos, el siguiente comando, por ejemplo, solo descargará las fuentes para la dependencia con un artifactId específico:
mvn dependency:sources -DincludeArtifactIds=guava
Fuente: http://tedwise.com/2010/01/27/maven-micro-tip-get-sources-and-javadocs/
Documentación: https://maven.apache.org/plugins/maven-dependency-plugin/sources-mojo.html
mvn dependency:resolve -Dclassifier=javadoc
IntelliJ IDEA se da cuenta automáticamente de los javadocs, lo cual es muy bueno.
Configuración y ejecución del complemento maven-eclipse (por ejemplo, desde la línea de comandos mvn eclipse:eclipse
)
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<configuration>
<downloadSources>true</downloadSources>
<downloadJavadocs>true</downloadJavadocs>
</configuration>
</plugin>
</plugins>
</build>
mvn eclipse:eclipse
si agrega esto al archivo POM?
M2_REPO
como xxxx-yy-sources.jar, en la misma ubicación que el jar normal. Se adjuntará como código fuente para el jar xxxx-yy en las bibliotecas
Si un proyecto crea un frasco de las fuentes del proyecto y lo implementa en un repositorio Maven, lo encontrará :)
Solo para su información, los artefactos de fuentes generalmente son creados por el complemento de fuente maven . Este complemento puede agrupar las fuentes principales o de prueba de un proyecto en un archivo jar y, como se explica en Configuración del complemento de origen :
(...) El archivo jar generado se nombrará con el valor de
finalName
"-sources" más si son las fuentes principales. De lo contrario, seríafinalName
más "-test-sources" si son las fuentes de prueba.
El texto adicional que se proporcionó para describir un artefacto ("-sources" o "-test-sources" aquí) se denomina clasificador.
Para declarar una dependencia en un artefacto que usa un clasificador, simplemente agregue el <classifier>
elemento. Por ejemplo:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate</artifactId>
<version>3.2.7.ga</version>
<classifier>sources</classifier>
</dependency>
Tenga en cuenta que generalmente no hace esto, la mayoría de los IDE brindan soporte para descargar fuentes (y / o JavaDoc) del artefacto principal sin declarar explícitamente una dependencia de ellos.
Finalmente, también tenga en cuenta que algunos motores de búsqueda de repositorio permiten buscar artefactos utilizando el clasificador (al menos Nexus lo hace con la búsqueda avanzada). Ver esta búsqueda por ejemplo.
El complemento de Maven Idea para IntelliJ Idea le permite especificar si las fuentes y el java doc deben resolverse y descargarse
mvn idea:idea -DdownloadSources=true -DdownloadJavadocs=true
Para descargar alguna fuente específica o javadoc necesitamos incluir los GroupIds - Es un valor separado por comas como se muestra a continuación
mvn dependency:sources -DincludeGroupIds=com.jcraft,org.testng -Dclassifier=sources
Tenga en cuenta que el clasificador no está separado por comas, para descargar el javadoc necesitamos ejecutar el comando anterior una vez más con el clasificador como javadoc
mvn dependency:sources -DincludeGroupIds=com.jcraft,org.testng -Dclassifier=javadoc
Para descargar cualquier uso de artefactos
mvn dependency:get -Dartifact=groupId:artifactId:version:packaging:classifier
Para las fuentes Groovy esto sería
mvn dependency:get -Dartifact=org.codehaus.groovy:groovy-all:2.4.6:jar:sources
Para el javadoc de Groovy usarías
mvn dependency:get -Dartifact=org.codehaus.groovy:groovy-all:2.4.6:jar:javadoc
Esto coloca el artefacto dado en su repositorio local de Maven, es decir, generalmente $HOME/.m2/repository
.
dependency:sources
simplemente descarga las fuentes de las dependencias del proyecto, no las fuentes de los complementos ni las fuentes de dependencias definidas dentro de los complementos.
puede encontrar información en esta pregunta relacionada: Obtenga archivos jar de origen adjuntos a Eclipse para dependencias administradas por Maven
si usa el complemento eclipse maven y luego use 'mvn eclipse: eclipse -DdownloadSources = true'
si está utilizando eclipse, también puede abrir Preferencias> Maven y seleccionar Descargar fuentes de artefactos, esto dejaría intacto el pom.xml y mantendría sus fuentes o documentos de Java (si está seleccionado) solo para el desarrollo justo en la ubicación de su máquina ~ / .m2
En eclipse
pom.xml
Run As
-> Maven generate-sources
Requisito previo:
Maven debe configurarse con Eclipse.
En NetBeans 8 con un proyecto dirigido por Maven, simplemente haga clic contextual en el elemento de la lista de archivos jar de la dependencia en la que esté interesado. EscogerDownload Sources
. Espere un momento y NetBeans descargará e instalará automáticamente el código fuente, si está disponible.
Del mismo modo, puede optar Download Javadoc
por instalar el documento localmente. Luego puede hacer clic contextual en algún código en el editor y elegir ver JavaDoc.
Basado en ver la consola Maven en Eclipse (Kepler), las fuentes se descargarán automáticamente para una dependencia Maven si intenta abrir una clase de dicha dependencia Maven en el editor para el que aún no tiene las fuentes descargadas. Esto es útil cuando no desea obtener la fuente de todas sus dependencias, pero no sabe cuáles desea con anticipación (y está usando Eclipse).
Terminé usando el enfoque de @ GabrielRamierez , pero emplearé el enfoque de @ PascalThivent en el futuro.
Si conoce groupId y aritifactId , puede generar una URL de descarga como esta.
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
http://central.maven.org/maven2/ch/qos/logback/logback-classic/
y obtendrá una página como esta, elija la versión que necesita, ¡simplemente disfrútela!
También he usado el complemento eclipse para llevar el proyecto al espacio de trabajo de eclipse. Como he trabajado en un proyecto diferente, vi que es posible trabajar con eclipse pero sin el complemento maven-eclipse. Eso hace que sea más fácil de usar con diferentes entornos y permite el uso fácil de maven sobre eclipse. Y eso sin cambiar el archivo pom.xml.
Por lo tanto, recomiendo el enfoque de Gabriel Ramírez.
Los repositorios de Maven proporcionan una forma sencilla de descargar jar jar de fuentes.
Lo explicaré usando una demostración para "spring-boot-actuator-autoconfigure".
De lo contrario, siempre puede "clonar git" el repositorio de github, si está allí, y obtener el código específico.
Según lo explicado por otros, puede usar "mvn dependency: sources" para obtener y generar fuentes jar para la dependencia que está utilizando.
Nota: Algunas dependencias no tendrán sources.jar, ya que esas no contienen código fuente sino un archivo pom. por ejemplo , actuador de arranque con resorte . Como en este caso:
Los POM de inicio son un conjunto de descriptores de dependencia convenientes que puede incluir en su aplicación. Obtiene una ventanilla única para toda la tecnología Spring y relacionada que necesita, sin tener que buscar código de muestra y copiar y pegar cargas de descriptores de dependencia.
Referencia: Introducción a los arrancadores de arranque de primavera
Si desea encontrar el archivo jar de origen para cualquiera de los artefactos manualmente, vaya a la ubicación del repositorio de maven para el artefacto en particular y en Archivos, haga clic en 'Ver todo'. Puede encontrar el archivo jar de origen.