This commit reworks BootRun so that it no longer subclasses JavaExec.
This provides Boot with greater control of how the executed JVM is
configured, including the possibility of using @Option to provide args
and JVM args via the command line (gh-1176). It also allows some usage
of convention mappings to be removed in favour of PropertyState and
Provider (gh-9891). For users who relied up the advanced (and rather
complex) configuration options provided by JavaExec, an escape hatch
is provided by allowing the JavaExecSpec that's used to execute the
JVM to be customized.
Closes gh-9884
This commit adds support for auto-configuration of Spring WS automatic
WSDL and XSD exposure i.e. registration of `WsdlDefinition` and
`XsdDefinition` beans. The bean registration is triggered by configuring
`spring.webservices.wsdl-locations` property which will search the
provided locations for WSDL/XSD files and register appropriate beans.
See gh-9635
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
This commit fixes Javadoc generation when building with Java 9. It
upgrades the Javadoc plugin to a version that is Java 9 compatible
(3.0.0-M1) and reworks DevTools to remove usage of @PostConstruct.
The latter change is necessary as @PostConstruct is not visible by
default when building with Java 9 and, therefore its usage causes
Javadoc generation to fail.
Closes gh-10029