Working on a Spring Boot 1.3.3 / Spring Framework 4.2.5 project, I faced a circular dependency (ServiceA autowired in ServiceB, and ServiceB autowired in ServiceA - injection is done via constructors). I solved this problem with some refactoring to delete this circular dependency.
Meanwhile, I noticed that the code (TestNG unit tests) worked on Windows (Windows 7, Java 8), and failed on our Jenkins CI (Linux).
-> Is there any reason to explain why it worked on Windows ? I'm trying to make my Windows local builds to reflect CI builds as much as possible.
//edit -> it may be an important information: I can't give an accurate number, but ~75% of Linux builds fail and ~25% don't fail (still on Linux). There is no random condition in pom.xml, but I probably miss something...