Trabajando en un proyecto Spring Boot 1.3.3/Spring Framework 4.2.5, me enfrenté a una dependencia circular (ServiceA autoconectado en ServiceB y ServiceB autoconectado en ServiceA; la inyección se realiza a través de constructores). Resolví este problema con algunas refactorizaciones para eliminar esta dependencia circular.
Mientras tanto, noté que el código (pruebas unitarias TestNG) funcionaba en Windows (Windows 7, Java 8) y fallaba en nuestro Jenkins CI (Linux).
-> ¿Hay alguna razón para explicar por qué funcionó en Windows? Estoy tratando de hacer que mis compilaciones locales de Windows reflejen las compilaciones de CI tanto como sea posible.
//editar -> puede ser una información importante: no puedo dar un número exacto, pero ~75% de las compilaciones de Linux fallan y ~25% no fallan (todavía en Linux). No hay una condición aleatoria en pom.xml, pero probablemente me perdí algo...