Anderen Java Code durch Code kompilieren und Fehler in Label ausgeben

the_javax

Mitglied
Guten Tag,

ich versuche ein kleines Programm zu schreiben, welches GUI basiert ist. Es soll dem Benutzer möglich sein, einen Path zu einem Java-Script (also ein Script, das in Java geschrieben wurde, nicht Javascript, sondern Java), in ein Eingabefeld einzugeben. Dann soll dieses Script, zu welchem der Path eingegeben wurde, kompiliert werden und die Fehler (Compile-Errors) in einem Label ausgegeben werden.
Das GUI steht schon; nur habe ich keine Erfahrung darin, wie man durch ein Script ein anderes Script kompilieren und die Fehler "aufsammeln" kann. Ich poste diesen Thread, da ich bereits gegoogelt, in den FAQ's geschaut und in der Forensuche geschaut habe, jedoch nirgends etwas hilfreiches gefunden habe.

Deshalb suche ich hier nach Ideen, wie man so etwas realisieren könnte. Vielen Dank für eure Anregungen.
Ich benutze einen Mac und arbeite mit der IDE, Visual Studio Code.

Grüße,

the_javax
 

httpdigest

Top Contributor
da ich bereits gegoogelt, in den FAQ's geschaut und in der Forensuche geschaut habe, jedoch nirgends etwas hilfreiches gefunden habe.
Ich frage mich immer, wie Leute es schaffen, durch Googlen nichts zu finden.
Ich hätte z. B. nach "compile java code at runtime" gegoogled. Da ist quasi jedes der Suchergebnisse hilfreich.
Dies ist eine ernstgemeinte Frage von mir: wonach hast du gegoogled, um nichts hilfreiches gefunden zu haben?
 

the_javax

Mitglied
Dies ist eine ernstgemeinte Frage von mir: wonach hast du gegoogled, um nichts hilfreiches gefunden zu haben?

Ich habe nach "java compile code through other code" gesucht. Dabei habe ich bewusst das Wort "script" vermieden, um keine Suchergebnisse für Javascript angezeigt zu bekommen.
Ich habe die Informationen, von dem was @LimDul verlinkt hat durchgelesen.
Jetzt habe ich folgendes Script geschrieben:

Java:
import javax.tools.ToolProvider.*;
import java.lang.Object;
import javax.tools.ToolProvider;

public class javaCompilera { 
public static void main(String[] args) { 
        JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
        int result = compiler.run(null, null, null, "test");
    } 
}

Allerdings bekomme ich in Zeile 6 einen Error "cannot find symbol" (bezogen auf das "JavaCompiler" am Anfang.
Ich habe auch schon versucht das ganze durch folgende Zeile zu importieren:

Java:
import javax.tools.JavaCompiler.*;

, jedoch ist der Error immer noch vorhanden. Ich verstehe nicht, warum dieser Fehler auftaucht und wie ich diesen fixen kann. Danke für eure Hilfe.
 

the_javax

Mitglied
@mrBrown danke. :)

Ich verstehe jedoch nicht, wie ich nun ein bestimmtes Script durch den JavaCompiler kompilieren kann.
Bereits versucht habe ich folgendes:

Java:
int result = compiler.run(null, null, null, "test.java");

Obwohl das Script "test.java" im gleichen Folder wie das andere Script liegt, bekomme ich einen "File not found"-Error:
Code:
javac: file not found: test.java

Muss ich einen genauen Path angeben, damit es das zu kompilierende Script findet?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
U was bewirkt die methode fill und unterschied zu anderen fill Methoden in 2dgraphics? (Java)? AWT, Swing, JavaFX & SWT 6
L Java- UI zweites Fenster aus einer anderen Klasse öffnen durch ButtonClick AWT, Swing, JavaFX & SWT 4
M Gui in einer anderen Java Klasse aufrufen AWT, Swing, JavaFX & SWT 1
G Komponenten einer Java-App von einer anderen auslesen AWT, Swing, JavaFX & SWT 9
_user_q Objekte vom MainController in anderen Controller verwenden und andersherum (NullPointerException) AWT, Swing, JavaFX & SWT 14
Jose05 JavaFx Fxml: GUI aus einer anderen Klasse starten AWT, Swing, JavaFX & SWT 1
U Gibt es eine Möglichkeit statt concatenate einen anderen Befehl zu nutzen? AWT, Swing, JavaFX & SWT 9
N Programm Läuft nicht auf anderen Pcs AWT, Swing, JavaFX & SWT 9
J splitpane - Wechseln auf anderen Split erkennen AWT, Swing, JavaFX & SWT 11
N JavaFX applikation auf anderen Systemen zum laufen bringen AWT, Swing, JavaFX & SWT 7
N Aufruf einer anderen Klasse durch Button ActionListener AWT, Swing, JavaFX & SWT 2
Z Mit einem Button einen anderen Button Triggern AWT, Swing, JavaFX & SWT 3
D AWT Wie kann ich ein Frame von einem anderen aus beeinflussen? AWT, Swing, JavaFX & SWT 7
B Slider-Wert an anderen Slider übergeben AWT, Swing, JavaFX & SWT 5
A checkbox in einer TableView abhängig von einem anderen Celleninhalt disablen AWT, Swing, JavaFX & SWT 1
D JavaFX Ein Parameter von einem Stage(GUI) zu einem anderen übergeben AWT, Swing, JavaFX & SWT 6
karlmasutra JavaFX Zugriff auf eine erzeugte Scene aus einer anderen Klasse AWT, Swing, JavaFX & SWT 1
M JavaFX Auf ein UI Elemement eines anderen Controllers zugreifen AWT, Swing, JavaFX & SWT 0
J Compiler in der JavaFX stop() Methode warten lassen bist eine Aktion in einer anderen Scene gemacht AWT, Swing, JavaFX & SWT 5
I JavaFX-Scene-Überlagerung/Wechsel mit pausieren der anderen Scene AWT, Swing, JavaFX & SWT 0
J JFram Location aus Konstruktor einer anderen Klasse auslesen AWT, Swing, JavaFX & SWT 10
I JavaFX Fenster wird auf einem anderen Rechner anders dargestellt AWT, Swing, JavaFX & SWT 5
R Update eines Labels bei Methodenaufruf einer anderen Klasse AWT, Swing, JavaFX & SWT 9
K JTable in extra Klasse, Zugriff in einer anderen klasse nicht möglich AWT, Swing, JavaFX & SWT 26
R Swing JLabel berührung an einem anderen Label prüfen AWT, Swing, JavaFX & SWT 3
D Frame beim starten eines anderen Frames schließen AWT, Swing, JavaFX & SWT 2
B Swing Auf JList-Elemente aus einer anderen Klasse zugreifen AWT, Swing, JavaFX & SWT 1
J JavaFX Zugriff auf FXML-Variablen eines anderen Controllers AWT, Swing, JavaFX & SWT 2
B Jlabel Text von anderen Klasse aus ändern AWT, Swing, JavaFX & SWT 9
N JavaFX GUI Elemente einer anderen (FXML)Klasse ansprechen AWT, Swing, JavaFX & SWT 16
B Swing GUI in einer anderen Klasse aufrufen AWT, Swing, JavaFX & SWT 4
N was kann bzw was ist neu an JavaFx was die anderen nicht können AWT, Swing, JavaFX & SWT 2
D [Anfänger]ComboBox erstellt Einträge in einer anderen ComboBox AWT, Swing, JavaFX & SWT 3
D Event Handling Aus einer anderen Klasse heraus einen Text des JLabels ändern. AWT, Swing, JavaFX & SWT 12
F Instanzierung einer inneren Klasse in Klasse eines anderen Packets AWT, Swing, JavaFX & SWT 3
K Kann nicht auf GUI Elemente zugreifen, mit einer Methode im Controller klappts, mit der anderen nich AWT, Swing, JavaFX & SWT 10
C JavaFX Zugriff auf TextField aus einer anderen Klasse AWT, Swing, JavaFX & SWT 4
Z JavaFX Inhalt einer ViewTable durch Aktion einer Menubar ändern welche in einer anderen fxml ist AWT, Swing, JavaFX & SWT 4
K Array von einer Action zur anderen bringen AWT, Swing, JavaFX & SWT 7
V kann ich in einer Klasse stage und scene deklarieren, aber in anderen Klassen Inhalte hinzufügen ? AWT, Swing, JavaFX & SWT 5
J JTable aktuallisieren über anderen Frame AWT, Swing, JavaFX & SWT 6
P Vorteile von Tooltip nutzen (wird über allen anderen Objekten angezeigt) AWT, Swing, JavaFX & SWT 3
W JavaFX Label in Controller-Klasse in einer anderen Controller-Klasse ändern AWT, Swing, JavaFX & SWT 9
D SWT SWT Elemente aus anderen Klassen aufrufen - Invalid thread access AWT, Swing, JavaFX & SWT 6
E Mit Netbeans von einer Form auf eine Komponente einer anderen Form zugreifen AWT, Swing, JavaFX & SWT 2
A Swing bei Auswahl und klick eines JComboBox buttons die Klasse eines anderen Projekts aufrufen AWT, Swing, JavaFX & SWT 3
D Nächste GUI in einer anderen Klasse aufrufen AWT, Swing, JavaFX & SWT 7
Kenan89 3D Models aus anderen Spielen in eigene einfügen AWT, Swing, JavaFX & SWT 3
I Rechteck eines Graphics eines JPanels in einem anderen JPanel anzeigen AWT, Swing, JavaFX & SWT 7
M Von einem Fenster zum anderen AWT, Swing, JavaFX & SWT 12
B Swing JMenu zwischen anderen Componenten AWT, Swing, JavaFX & SWT 4
Z Swing Text aus JTextField einer anderen Klasse AWT, Swing, JavaFX & SWT 14
C Swing JFrame nimmt keine anderen Elemente auf AWT, Swing, JavaFX & SWT 13
T JTabbedPane - neuen Tab zwischen zwei anderen Tabs hinzufügen AWT, Swing, JavaFX & SWT 2
B Anderen Layout-Manager verwenden AWT, Swing, JavaFX & SWT 17
A AWT Auto aus einer anderen Klasse her neu zeichnen AWT, Swing, JavaFX & SWT 7
T Listener in anderen Panel deaktivieren AWT, Swing, JavaFX & SWT 3
F Panels über buttons zu anderen Panels hinzufügen AWT, Swing, JavaFX & SWT 2
L SWT Text SelectionText ersetzen durch anderen String AWT, Swing, JavaFX & SWT 6
S Von einer anderen Klasse auf JTextField zugreifen AWT, Swing, JavaFX & SWT 13
P AWT Wie kann mein listener den Inhalt eines anderen Textfelds ändern? AWT, Swing, JavaFX & SWT 10
I Wie mehrere JComboBoxen in Abhängigkeit einer anderen Box ändern? AWT, Swing, JavaFX & SWT 8
D JComboBox jedes Item mit einer anderen Farbe AWT, Swing, JavaFX & SWT 10
P Von einer anderen Klasse auf JTextField zugreifen AWT, Swing, JavaFX & SWT 12
Zettelkasten repaint() von anderen Klassen aufrufen AWT, Swing, JavaFX & SWT 4
S Swing mit ActionListener auf Objekte einer anderen Klasse zugreifen AWT, Swing, JavaFX & SWT 3
P Swing JTabbedPane mit JButton einen anderen Tab anzeigen AWT, Swing, JavaFX & SWT 9
P Von einem Panel auf die Objekte des anderen Panels zugreifen AWT, Swing, JavaFX & SWT 3
M Swing Methode in einem Fenster aus einem anderen Fenster aufrufen AWT, Swing, JavaFX & SWT 4
Luk10 repaint() auch in anderen Klassen! AWT, Swing, JavaFX & SWT 6
R Korrektes manipulieren der GUI aus anderen Threads heraus AWT, Swing, JavaFX & SWT 19
Q Swing Panel aus anderen Frame aufrufen AWT, Swing, JavaFX & SWT 2
L Swing Kommunikation zwischen JMenuBar und anderen Componenten AWT, Swing, JavaFX & SWT 2
S paint() in anderen Methoden AWT, Swing, JavaFX & SWT 5
W Mouseclicks werden bei Verwendung anderen Betriebssystems nicht problemlos angenommen AWT, Swing, JavaFX & SWT 3
D Paint() Methode aus einer anderen Klasse aufrufen AWT, Swing, JavaFX & SWT 6
S [ANT] jsch jar aus einem anderen Ordner laden AWT, Swing, JavaFX & SWT 7
G JTabbedPane wird groesser wenn man anderen Tab auswaehlt. AWT, Swing, JavaFX & SWT 2
I Öffnen von anderen Programmen bei Betätigen eines Buttons AWT, Swing, JavaFX & SWT 19
G TableModel mit anderen Spalten AWT, Swing, JavaFX & SWT 4
E JFrame Componente aus einer anderen klasse disposen AWT, Swing, JavaFX & SWT 3
G SystemTray BubbleInfo an anderen Componenten anzeigen AWT, Swing, JavaFX & SWT 6
S Class in einer anderen Class ausführen? AWT, Swing, JavaFX & SWT 5
J JInternalFrame überlagert/unterlagert anderen Elementen AWT, Swing, JavaFX & SWT 2
X Wie passt JIternalFrame sich den anderen Fenstern an? AWT, Swing, JavaFX & SWT 3
G JTree -- Node nach ändern in anderen Knoten AWT, Swing, JavaFX & SWT 15
M Wert von einem Fenster zum anderen übergeben AWT, Swing, JavaFX & SWT 3
G Auf markierten Text einer anderen Anwendung zugreifen. AWT, Swing, JavaFX & SWT 8
N Image Array einer anderen Klasse bearbeiten AWT, Swing, JavaFX & SWT 2
L wie den Cursor von einem TextFeld zum anderen setzen? AWT, Swing, JavaFX & SWT 3
T drehung um einen anderen punkt AWT, Swing, JavaFX & SWT 2
B JSpinner passt optisch nicht zu anderen Komponenten AWT, Swing, JavaFX & SWT 2
F JTextArea aus einer anderen Klasse heraus verändern AWT, Swing, JavaFX & SWT 4
W Methodenaufruf aus einer anderen Klasse AWT, Swing, JavaFX & SWT 3
G ActionListener und Methoden-Aufruf aus anderen Klassen AWT, Swing, JavaFX & SWT 3
F Checkboxen eines anderen Panels ansprechen AWT, Swing, JavaFX & SWT 3
D FileChooser der anderen Art. AWT, Swing, JavaFX & SWT 2
F JTree mit anderen Icons AWT, Swing, JavaFX & SWT 7
G layout in einer anderen klasse AWT, Swing, JavaFX & SWT 4
W Anzeige von anderen Bildformaten: BMP, TIFF, PCX AWT, Swing, JavaFX & SWT 5

Ähnliche Java Themen

Neue Themen


Oben