Revisamos de forma exhaustivamente cada reseña de nuestro sitio web con el objetivo de enseñarte en todo momento información veraz y certera.
Solución:
No estoy seguro de si esto está relacionado con maven (no puede tener dependencias cíclicas entre módulos con maven) pero tal vez no entendí algo. Dicho esto, puede usar JDepend para analizar un fragmento de código y encontrar dependencias cíclicas (consulte Interpretación de los ciclos de dependencia). Si prefiere usar JDepend de Eclipse, existe el complemento JDepend4Eclipse.
Consulte Batik desde su repositorio de subversión, ejecute JDepend en sus fuentes y vea si encuentra algo (supongo que lo hará). Pero, para ser honesto, esa fue la parte fácil. Deshacerse de las dependencias cíclicas es otra historia y podría no ser tan fácil. Esto podría implicar tareas como mover clases de un paquete a otro, volver a empaquetar módulos, comprender cómo funciona la compilación de Batik (tenga en cuenta que su script de compilación Ant tiene 2220 líneas), etc. En otras palabras, esto requerirá un trabajo arduo en una biblioteca que usted inicialmente solo desea usar (y, a menos que contribuya con estos cambios, es posible que deba aplicarlos nuevamente con una versión posterior). Mi consejo: piénsalo dos veces antes de empezar a indagar en esa dirección.
Solo para su información, también hay un jdepend-maven-plugin que solo es útil si desea ejecutar JDepend en su proyecto (es decir, su código) que no es su solicitud.
Intente ejecutar esto desde la línea de comando en la raíz de su proyecto superior:
mvn dependency:tree
Intente usar UCDetector, ayuda a encontrar ciclos de dependencias en el nivel de clase durante el desarrollo. Otra herramienta útil es Tattletale.
Te proporciona informes que te pueden ayudar
- Identificar dependencias entre archivos JAR
- Encuentra las clases que faltan en el classpath
- Detectar si una clase se encuentra en varios archivos JAR
- Detecte si el mismo archivo JAR se encuentra en varias ubicaciones
- Con una lista de lo que requiere y proporciona cada archivo JAR
- Verificar el SerialVersionUID de una clase
- Encuentre archivos JAR similares que tengan diferentes números de versión
- Encuentra archivos JAR sin un número de versión
- Localizar una clase en un archivo JAR
- Obtenga el estado OSGi de su proyecto
- Eliminar el uso de la API en la lista negra
Omití intencionalmente las soluciones maven para no duplicar otras respuestas.
Sección de Reseñas y Valoraciones
Si tienes alguna vacilación y capacidad de renovar nuestro enunciado eres capaz de añadir una nota y con gusto lo leeremos.