Galera, como posso criar um programa com suporte a plugins ??
Por exemplo esse meu programa terá uma pasta “plugins”… então eu vou e crio um outro projeto que será meu plugin… que terá apenas um método que retorna uma string “Hello World” !!! então pego o jar e jogo na pasta “plugin” do meu projeto principal.
Como fazer a integração, ou seja executar metodos do plugin no meu programa principal ??
Já criei estes dois projetos e usei o ClassLoader para carregar este modulo ao meu programa principal e deu td certo !!!
O grande problema aqui é como utilizo os recursos oferecidos pelo novo modulo ???
Segue o Código:
PROJETO 2: PLUGIN
public class Plugin
{
public void metodoPlugin()
{
System.out.println("Hello World !");
}
}
PROJETO 1: PRINCIPAL
[code]
public class Principal
{
public static void main(String[] args)
{
try
{
//Nada de mais, apenas busca o jar e carrega a unica classe
File f = new File("\plugin\Plugin.jar");
URLClassLoader urlCl = new URLClassLoader(new URL[] { f.toURI().toURL()},System.class.getClassLoader());
Class classe = urlCl.loadClass(“pacote.Plugin”);
//imprime corretamente o nome da classe carregada
System.out.println(classe.getName());
//????????????
// como posso chamar os metodos ? INTERFACE ? REFLECTION
}
catch (MalformedURLException | ClassNotFoundException ex)
{
Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
}
}
}[/code]
Espero ter sido claro !
Abraços