quarta-feira, 20 de fevereiro de 2013

Compilando arquivos Java via código

Para compilar arquivos Java via código é extremamente fácil:

JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
int result = compiler.run( System.in, System.out, System.err, "SeuArquivo.java" );
if ( 0 == result ) {
System.out.println( "Compilado!" );
}

A saída do processo de compilação é realizada na System.out e na System.err. O retorno sendo zero, indica sucesso na compilação.


Dica: Para usar esta classe, certifique-se que você está usando o compilador da JDK e não da JRE. As classes estão no pacote /lib/tools.jar da JDK, que não exise na JRE. Caso você precise, pode usar a minha dica anterior, para carregar este arquivo Jar dinamicamente. Para não ter que montar o caminho de seu JAVA_HOME manualmente, pegue-o da propriedade java.home do objeto System:

String toolJarPath = "file:///"
+ System.getProperty( "java.home" ).replaceAll( "\\\\", "/" )
+ "/lib/tools.jar";

Nenhum comentário: