Pregunta

Quiero usar JavaCompiler para crear dinámicamente algunas clases.

He encontrado el código fuente del paquete javax.tools, pero no hay ninguna aplicación; algunos puestos en el Internet dicen que depende de tools.jar, estoy seguro que no asociados tools.jar con JRE.

Por lo tanto, puedo ejecutar el programa en un entorno JRE instalado sin JDK?

Otra pregunta, ¿cuál es el detalle de implementación de JavaCompiler, es que la creación de un nuevo proceso para invocar el comando javac?

gracias

¿Fue útil?

Solución

necesidad de JRE para incluir las interfaces y las clases del paquete, pero no es necesario para proporcionar implementaciones.

JRE

El Sol no lo hace, y devuelve un valor nulo de llamar ToolProvider.getSystemJavaCompiler() .

Esta otra pregunta aborda Java 5.

Aquí hay un entrada de blog por Morten Nobel-Jørgensen sobre cómo utilizar el compilador de Eclipse como una implementación de javax.tools.JavaCompiler.

JavaCompiler javac = new EclipseCompiler();
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top