utiliza tutorial que proyecto probar pom para limpiar español empaquetar dependencias curso crear con compilar comandos central maven build-dependencies

que - maven tutorial español



¿Cómo obtener las dependencias de Maven impresas en un archivo en un formato legible? (6)

Estoy trabajando en grandes proyectos con muchos archivos pom.xml y necesito especificar todas las bibliotecas que utilizo. Esto significa que necesito leer los archivos pom.xml de forma recursiva y obtener GroupId, artifactId, alcance y versión. Revisé la dependencia mvn: árbol, pero no puedo encontrar una 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.


Añadiendo el

<plugin> <groupId>org.apache.servicemix.tooling</groupId> <artifactId>depends-maven-plugin</artifactId> </plugin>

el complemento produce un archivo classes/META-INF/maven/dependencies.properties con las dependencias del proyecto fácilmente analizables.

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 solo haría mvn dependency:tree > myFile . Sin embargo, si está restringido solo a Windows, buscaría la sintaxis de Windows para transmitir la salida de un comando.

De acuerdo con este sitio (solo los mejores resultados de Google), parece que la consola de Windows también usa el signo > para dirigir la secuencia de salida a, por ejemplo, un archivo. Entonces, ¿te importaría intentar esto?


Esto se puede hacer (al menos ahora) con opciones de línea de comandos para la dependencia: plugin de árbol.

Tratar:

mvn dependency:tree -Doutput=/path/to/file

Referencia: Maven Dependency Plugin Page

Solo preguntó sobre el formato "legible", pero también puede pasar el parámetro -DoutputType con varias opciones. También tenga en cuenta que la versión que he instalado, me sale la siguiente advertencia:

[WARNING] The parameter output is deprecated. Use outputFile instead.

Por lo tanto, considere intentarlo con -DoutputFile = / path / to / file

Además, no pude obtener el parámetro -DoutputType para que me diera otra cosa que no fuera el texto predeterminado, pero no tuve la oportunidad de jugar con él. YMMV.


Quizás effective-pom (junto con algunos comandos de linux para guardar el archivo) pueda ser suficiente para sus necesidades.


Si tiene varios módulos en el mismo repositorio / proyecto y desea las dependencias de todos los módulos en un archivo, para poder diferenciar una compilación y otra para ver si algo cambió en algún lugar, puede hacer

$project_dir> mvn dependency:tree -DoutputFile=<absolute_path_to_file> -DappendOutput=true

p.ej

$project_dir> mvn dependency:tree -DoutputFile=`pwd`/mvn_dependency_tree.txt -DappendOutput=true

Ver otras opciones disponibles en https://maven.apache.org/plugins/maven-dependency-plugin/tree-mojo.html


Siempre puedes instalar MinGW y MSYS y luego usar los ejemplos de Linux usando la dependency:tree en Windows