Compilar classe Java em tempo de execução

4 respostas
R

Ae galera,

To precisando compilar classes em tempo de execução, mas não quero usar o disco para gravar um arquivo com extensão .java e depois passar o nome do arquivo para a classe Compiler compilar.

Gostaria de fazer isso na memória, alguém sabe como?

Agradeço antecipadamente

Roberto

4 Respostas

louds

Olha a API do ECJ, provavelmente ela te permite fazer isso

R

obrigado por enquanto.

Vou dar uma olhada. Nunca usei esta API.

_fs

Se você quer se aprofundar com o assunto, recomendo o livro Java Reflection in Action, publicado pela Manning. O capítulo 7 trata especialmente do tópico.

C

String arquivo2 = “minhaClasse.java”
PrintWriter saida = new PrintWriter(new FileWriter(“logCompilacao.txt”));

int resultadoCompilacao = com.sun.tools.javac.Main.compile(new String[]{arquivo2},saida);

Criado 5 de junho de 2006
Ultima resposta 7 de jun. de 2006
Respostas 4
Participantes 4