mein JavaCompiler gibt einen Nullzeiger, wenn sie aus einer JAR-Datei bezeichnet.JavaCompiler von innen ein Glas
Alles funktioniert gut, wenn ich mein Programm mit dem JavaCompiler von der Kommandozeile ausgeführt werden. Also das JDK richtig auf meinem Betriebssystem installiert.
Warum funktioniert es nicht?
Code:
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
StandardJavaFileManager fileManager = compiler.getStandardFileManager(null, null, null);
Iterable<String> options = Arrays.asList(new String[] { "-d", currentDir+"/cache/","-sourcepath",currentDir+"/srcss/"});
Iterable<? extends JavaFileObject> compUnits = fileManager.getJavaFileObjects(fRun);
Boolean compRes = compiler.getTask(null, fileManager, null, options, null, compUnits).call();
Aber mein System ist auf das JDK eingestellt. Wenn ich mein Programm über die Befehlszeile starte, startet es vom JDK. Wie setze ich das JAR auf JDK? – ctekk
Drucken Sie die von 'System.getProperty (" java.home ")' zurückgegebene Zeichenfolge in Ihrer Anwendung und prüfen Sie, ob sie sich unterscheidet. – aioobe