2011-10-20 16 views

Odpowiedz

11

Możesz zamówić wersję JavaCompiler z ToolProvider. Jeśli zwróci null, nie ma realizacja JavaCompiler dostępny:

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

Nie jestem pewien, czy to działa - wydaje się, że 'interfejsu JavaCompiler' sama jest zawsze dostępny, ale różnica w porównaniu z JDK JRE zależy o tym, że jest realizacja. –

+0

@ David: Zaktualizowano. – axtavt

+0

działa dobrze, gdy JDK jest poprawnie zainstalowany, a 'javac' można znaleźć na ścieżce klas. ale co jeśli chcę zezwolić użytkownikowi na jego uruchomienie, nawet jeśli 'javac' nie może zostać osiągnięty? wszystko, co chcę wiedzieć, to czy używam JDK lub JRE ... zobacz [ten link] (http://www.java.net/node/688208) - można go rozwiązać, jeśli użytkownik zdefiniuje zmienną środowiskową . ale ponieważ nie mam potrzeby "javac", nie chcę niepokoić użytkownika z dodatkowym obciążeniem konfiguracji ... –

Powiązane problemy