Consider the following scenario:
- At t = 0:00, a test suite job A is started on host B using a SNAPSHOT build of library C, executing this test takes more than half an hour
- At t = 0:10, a new SNAPSHOT build is generated for library C and deployed to our Maven repository server on host D
- At t = 0:20, a second test job E is started on host B, also using a SNAPSHOT build of library C. This run updates the SNAPSHOT in the local Maven repository on host B
- At t >= 0:20, job A starts raising java.lang.NoClassDefFoundError errors, because its code was compiled against a different version of library C.
Is there a best-practice on how to handle this issue?