Pergunta

Eu quero usar JavaCompiler Para criar dinamicamente algumas classes.

Eu encontrei o código -fonte do javax.tools pacote, mas não há implementação; Algumas postagens na internet dizem que depende de tools.jar, Não tenho certeza tools.jar Associados a Jre.

Então, posso executar o programa em um ambiente JRE sem o JDK instalado?

Outra pergunta, qual é o detalhe de implementação de JavaCompiler, é criar um novo processo para invocar o javac comando?

obrigado

Foi útil?

Solução

A necessidade de Jre de incluir as interfaces e as classes nesse pacote, mas não precisa fornecer implementações.

Sun's Jre não, e retorna nulo de ligar ToolProvider.getSystemJavaCompiler().

Esta outra questão endereços Java 5.

Aqui está um Postagem do blog de Morten Nobel-Jørgensen sobre como usar o compilador do Eclipse como uma implementação do javax.tools.javacompiler.

JavaCompiler javac = new EclipseCompiler();
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top