Hallo liebe Gemeinde.
Mancher erinnert sich an den “nicht noch ein JUnit-Thread”-Thread. Mittlerweile ist mein Programm fertig. Es hat allerdings einen Schönheitsfehler. Aus Gründen der Performanz und Sauberkeit, nutze ich zum Kompilieren von Klassen in meinem Programm ein Objekt vom Typ JavaCompiler. Das kann die Dateien sauber übersetzen und ich muss lediglich dafür sorgen, dass alles an seinem Platz ist, was kompiliert werden muss.
Unter Netbeans wurde das getestet und arbeitet einwandfrei. Nun soll das Programm aber als .jar-Archiv ausgeführt werden. Völlig unabhängig von der IDE und allem anderen. Da besteht aber das Problem, dass das Programm den Compiler nicht finden kann. Darum die Frage an euch, ob einer von euch dieses Problem schon einmal hatte oder gar schon lösen konnte. Ich vermute, dass irgendeine dämliche Systemvariable fehlt. JAVA_HOME wurde gesetzt. Unter Linux funktioniert das anstandslos sei noch gesagt.
Danach zu googlen habe ich aufgegeben, weil man keinen vernünftigen Suchstring zusammenbauen kann.
Eine IDE bringt ihr eigenes JDK mit. Da was zu starten ist nicht schwer.
Vielleicht hast du auf deinem Rechner kein gültiges JDK installiert. Prüfe das erstmal.
Als erstes wäre eine Fehlermeldung interessant - ohne die, wird dir keiner helfen können.
Um den JavaCompiler zu verwenden braucht man das JDK. Das JRE reicht dafür nicht. Das heißt: Wenn das Programm gestartet wird, muss es mit dem JDK gestartet werden. Im speziellen braucht es den Inhlat der “tools.jar” aus dem JDK-Verzeichnis - theoretisch könnte es funktionieren, wenn man die mit den Classpath aufnimmt, aber das wird nicht empfohlen: Der JavaCompiler ist für die Entwicklung gedacht, und nicht für “Release-Code”, der bei einem Anwender läuft, der nur das JRE installiert hat.
Bei der Websuche hilft’s wenn man noch “JRE” mit dazunimmt: Google-Suche. Die ersten Ergebnisse drehen sich alle um dieses Thema.
vielen Dank für die Hilfe.
Eine Fehlermeldung gibt es nicht. Es wäre auch äußerst umständlich an diese ranzukommen. Denn wir reden hier von einem JavaCompiler-Objekt. Ich weiß nicht an welcher Stelle ich den Compiler initialisieren könnte, sodass da ein Fehler geworfen wird. Der ist eben einfach NULL.
das Java Programm Compiler ist nur im JDK enthalten, willst du auf den Java Compiler als fertiges Programm zugreifen muss das JDK installiert sein und die Path Variable auf jdk/bin gesetzt sein
Das JDK habe ich installiert. Ich kann in der Konsolo problemlos javac aufrufen. Deswegen ist es ja so knifflig an das Problem heranzugehen. Mein System versteht sich also sehrwohl auf Java. Nur ausgeführte JAR-Archive nicht ?_?
Danke!!
Ich habe jetzt in Netbeans einfach das tools.jar-Archiv bei Libs eingetragen. D.h. er exportiert das einfach mit beim build. Auf diese Idee wäre ich ohne euch, besondes EagleEye nicht gekommen. Vielen Dank.