Once again, this turned out to be a “phantom” problem of my own making. In the process of creating the simplest possible project to reproduce the issue, I figured out what was going on. It wasn’t an M3 vs. M9 issue at all.
In my current, M3, build there is an unnecessary ‘compile’ dependency on spring-security; I have no idea how that got in there. In the process of upgrading to M9, one of the first things I did was clean up my scripts a bit; one of the tasks being to remove that unnecessary dependency (I should have done that separately). So, that left the project I was having an issue with having a ‘compile’ dependency on spring-test. As spring-test depends on the other spring-* JARs, I thought everything should have been fine.
As I was trying to figure out why the other spring-* JARs were not in the STS project’s Referenced Libraries, I looked at the Ivy descriptors in my cache for both spring-security & spring-test. Finally, I noticed that even though both have dependencies on the other spring-* JARs, sprint-security uses these configurations: “compile->compile(),master();runtime->runtime()", while spring-test just uses these: "compile->compile(),master(*)”.
So, I added a ‘runtime’ dependency on spring-context to my problematic project, and all is well. Sorry for the false alarm. Thanks again for the assistance.