De Class.newInstance() para reflexão de construtor
Substitua o Class.newInstance() obsoleto pela busca e invocação explícitas do construtor.
Plugin plugin = pluginClass.newInstance();
Plugin plugin = pluginClass
.getDeclaredConstructor()
.newInstance();
API suportada
Remove o uso do Class.newInstance() descontinuado.
Construtor explícito
A assinatura solicitada fica visível e pode aceitar argumentos.
Falhas transparentes
Exceções do construtor são representadas por InvocationTargetException.
Recomendado desde que Class.newInstance() foi descontinuado no JDK 9 (setembro de 2017).
Class.newInstance() foi descontinuado porque pode ignorar a verificação em tempo de compilação das exceções lançadas pelo construtor e só oferece suporte a um construtor sem argumentos. A busca explícita do construtor torna visível a assinatura selecionada e relata falhas da invocação reflexiva por meio das exceções de reflexão adequadas. As regras de módulos e acesso continuam válidas; este padrão não recomenda contornar o encapsulamento.