Estoy trabajando en grandes proyectos con muchos archivos pom.xml y necesito especificar todas las bibliotecas que uso. Esto significa que necesito leer archivos pom.xml recursivamente y obtener groupId, artifactId, scope y version. Revisé mvn dependency: tree pero no puedo encontrar la manera de imprimirlo en un archivo en un formato legible. Vi appendOutput pero no vi ningún ejemplo sobre cómo usarlo en cmd. Vi algunas soluciones hechas en Linux pero solo tengo acceso a Windows XP.¿Cómo hacer que las dependencias de Maven se impriman en un archivo en un formato legible?
Respuesta
Esto puede (al menos ahora) hacerse con opciones de línea de comandos para la dependencia: árbol de complemento.
Probar:
mvn dependency:tree -Doutput=/path/to/file
Referencia: Maven Dependency Plugin Page
Sólo se preguntó acerca de formato "legible", pero también se puede pasar el parámetro -DoutputType con varias opciones. También tenga en cuenta que la versión que tengo instalado, me sale el siguiente mensaje de advertencia:
[WARNING] The parameter output is deprecated. Use outputFile instead.
lo tanto, considerar tratando con -DoutputFile =/ruta/a/archivo
también, no he podido conseguir el - DoutputType paramater para darme cualquier cosa que no sea el texto predeterminado, pero no tuve la oportunidad de jugar con él. YMMV.
Siempre se puede instalar MinGW and MSYS y luego usar los ejemplos que utilizan Linux en Windows dependency:tree
Quizás effective-pom (junto con algunos comandos de Linux para guardar el archivo) puede ser suficiente para sus necesidades.
Añadiendo el plugin
<plugin>
<groupId>org.apache.servicemix.tooling</groupId>
<artifactId>depends-maven-plugin</artifactId>
</plugin>
produce un archivo classes/META-INF/maven/dependencies.properties
con el proyecto de dependencias fácilmente analizable.
Ejemplo de la salida producida:
# Project dependencies generated by the Apache ServiceMix Maven Plugin
# Generated at: Mon Oct 10 17:43:00 CEST 2011
groupId = my.group.name
artifactId = my.artifact.name
version = 0.0.1-SNAPSHOT
my.group.name/my.artifact.name/version = 0.0.1-SNAPSHOT
# dependencies
junit/junit/version = 4.8
junit/junit/type = jar
junit/junit/scope = test
org.easymock/easymock/version = 2.4
org.easymock/easymock/type = jar
org.easymock/easymock/scope = test
en GNU/Linux que acaba de hacer mvn dependency:tree > myFile
. Sin embargo, si está restringido solo a Windows, entonces buscaría la sintaxis de Windows para transmitir el resultado de un comando.
De acuerdo con this site (solo un top-results de Google) parece que la consola de Windows también usa el signo >
para dirigir el flujo de salida a un archivo. Entonces, ¿te importaría probar esto?
La orden es la misma para Windows. –
> es de POSIX. En Windows funciona bien – kingoleg
Si tiene varios módulos en el mismo repositorio/proyecto y desea las dependencias de todos los módulos en un archivo, para poder modificar el b/n de una construcción y otra para ver si algo cambió en alguna parte, puede do
$project_dir> mvn dependency:tree -DoutputFile=<absolute_path_to_file> -DappendOutput=true
por ejemplo
$project_dir> mvn dependency:tree -DoutputFile=`pwd`/mvn_dependency_tree.txt -DappendOutput=true
otras opciones disponibles en https://maven.apache.org/plugins/maven-dependency-plugin/tree-mojo.html
- 1. Hacer que los objetos clos se impriman en lisp
- 2. ¿Ver un árbol de dependencias en Maven?
- 3. Cómo evitar que un div y su contenido se impriman
- 4. Uso de Maven para crear un archivo zip que contiene un archivo jar ejecutable con dependencias
- 5. Cómo hacer que las cadenas Unicode de Python 2.x no se impriman como u'string '?
- 6. Resolviendo las dependencias de maven
- 7. Ordenar las dependencias de maven en Eclipse
- 8. Cómo manejar las dependencias de subproyectos en Maven
- 9. ¿Cómo se actualizan las dependencias de maven del eclipse?
- 10. Excluyendo las dependencias de Maven
- 11. ¿Cómo transformar currentTimeMillis a un formato de fecha legible?
- 12. ¿Cómo encontrar dependencias innecesarias en un proyecto múltiple de maven?
- 13. ¿Cómo puedo hacer que el contenedor de prueba incluya dependencias en Maven?
- 14. ¿Cómo puedo ver las dependencias transitivas de un archivo Maven pom.xml?
- 15. ¿Cómo puedo hacer un jalón en Maven?
- 16. Cómo hacer un directorio Apache legible en ubuntu
- 17. Actualizar las dependencias de Maven automáticamente
- 18. Agregando dependencias en Maven Netbeans
- 19. Necesito un formato de documento legible por humanos, pero analizable
- 20. ¿Cómo puedo hacer que un módulo Maven dependa de otro?
- 21. Cómo escribir un archivo package.json para que todas las dependencias se descarguen con "npm install"
- 22. ¿Cómo puedo hacer que Perl y Python impriman cada línea del programa que se está ejecutando?
- 23. ¿Cómo compilo un archivo java que tiene dependencias jar?
- 24. ¿Cómo evito que se impriman los datos en stdout en mi valor de retorno?
- 25. Detectando dependencias incompatibles en Maven?
- 26. Las dependencias de Maven no se pueden resolver
- 27. ¿Cómo averiguar los archivos jar de los que dependen las dependencias en pom.xml de maven?
- 28. obtener información sobre las dependencias de maven
- 29. Un formato de archivo de registro simple
- 30. ¿Cómo puedo formatear el archivo de resultados de prueba de Visual Studio (.trx) en un formato más legible?
-Dmdep.outputFile = – AndyS
-Dmdep.outputFile =/ruta/a/archivo.txt funcionó, todas las demás opciones no – sloven