This commit uppgrade our Log4j dependency to 2.9.1. It also modifies
ModifiedClassPathRunner so that log4j-*.jar jars are always excluded
from the class path when using the runner. This is necessary due to
a change in Log4j [1] which makes assumptions about the class loader
hierarchy that do not hold true when using the modified class path
runner. Specifically, it assumes that the system class loader should
always be used to load providers. This is exactly what we don't want
to happen when using the modified class path runner as it breaks the
filtering of the class path and leads to Log4j classes being loaded
from both the system class loader and the filtering class loader.
Closes gh-10407
[1] 9422ca7489
Previously, RedisTestServer only supported Jedis and would blow up if
only Lettuce was on the classpath. This commit defensively checks which
driver is available and chose the appropriate one, defaulting to Jedis.
Closes gh-9524
Remove test-jar artifacts from Maven projects and relocate classes. The
majority of utilities now live in the `spring-boot-testsupport` module.
This update will help us to deploy artifacts using the standard Maven
deploy plugin in the future (which doesn't support the filtering of
individual artifacts).
Fixes gh-9493