2011-10-20 19 views

Respuesta

11

Puede solicitar una implementación de JavaCompiler en ToolProvider. Si devuelve null, no hay ninguna aplicación de JavaCompiler disponibles:

JavaCompiler c = ToolProvider.getSystemJavaCompiler(); 
if (c == null) { 
    // JRE 
} 
+0

No estoy seguro de si funciona - parece que el 'propia interfaz JavaCompiler' está siempre disponible, pero la distinción de JDK vs JRE depende en haber una implementación. –

+0

@David: actualizado. – axtavt

+0

funciona de maravilla cuando el JDK está instalado correctamente, y 'javac' se puede encontrar en el classpath. pero, ¿qué ocurre si quiero permitir que un usuario lo ejecute, incluso si no se puede acceder al 'javac'? todo lo que quiero saber es si estoy ejecutando en JDK o JRE ... ver [este enlace] (http://www.java.net/node/688208) - se puede resolver si el usuario define la variable de entorno . pero como no necesito el 'javac', no quiero molestar al usuario con esta sobrecarga de configuración adicional ... –

Cuestiones relacionadas