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:
Postar um comentário