Olá pessoal, td bom?
Eu tenho um programinha que gera a partir de informações fornecidas pelo usuario, em um jTextArea um texto, na verdade uma classe java, então esse texto é gravado em disco, ou seja, é criado um arquivo.java, logo em seguida, esse arquivo é compilado, surge então um arquivo.class, o que eu quero é executar esse arquivo.class a partir do meu sisteminha, ou seja, o usuário fornece as informações para criação da classe java, o arquivo.java é gerado e compilado e então surge o arquivo.class, só ta faltando rodar esse arquivo.class.
Mas estou tendo problemas, o erro é que nao acha a classe.
O código que estou usando é o seguinte:
private void executar() {
try {
Object parametrosObjeto[] = {new String[]{}}; //parametros do metodo
Class parametrosClasse[] = {parametrosObjeto[0].getClass()}; //classe dos parametros
Class classe = Class.forName(caminhoCriacao + "Main.class"); //referencia a classe
Object instancia = classe.newInstance(); //instancia a classe
Method metodoMain = classe.getDeclaredMethod("main", parametrosClasse);
metodoMain.invoke(instancia, parametrosObjeto); //executa o metodo
} catch (Exception e) {
jtaSaida.append(e.toString());
}
}
onde a variável caminhoCriacao é uma String representativa do diretório onde foi gerado o arquivo.class, Main.class é o nome do arquivo e jtaSaida é um jTextArea onde é exibido o erro, que no caso é “ClassNotFoundException: C:\Documents and Settings\cleiton\Meus documentos\Main.class”.
Na linha Class classe = Class.forName(…), eu ja tentei passar somente Main, Main.class, o diretório + Main, o diretório + Main.class, nao tem jeito, nao consigo rodar a classe.
Se alguem puder me ajudar…
Desde já grato… t+


