Description
Juergen Hoeller opened SPR-14486 and commented
As of JDK 9, Class.newInstance()
is deprecated in favor of Constructor.newInstance()
, with the latter throwing InvocationTargetException
instead of simply propagating user exceptions to the caller. Let's use this as an opportunity to revise our remaining use of Class.newInstance()
, in particular our remaining use of BeanUtils.instantiate(Class)
which is based on it (in contrast to BeanUtils.instantiateClass(Class
which explicitly uses the default constructor).
Along the same line, Proxy.getProxyClass
and XMLReaderFactory.createXMLReader
are in JDK 9 now as well. While we have no immediate replacement for those yet, we seem to be able to keep using them under our conditions (within the same ClassLoader
). Those spots need to be marked as @SuppressWarnings("deprecated")
though in order for our build to work on JDK 9 (with -Werror
).
Issue Links:
- Compatibility with merged JDK 9 mainline [SPR-13344] #17928 Compatibility with merged JDK 9 mainline