Anderen Java Code durch Code kompilieren und Fehler in Label ausgeben

Diskutiere Anderen Java Code durch Code kompilieren und Fehler in Label ausgeben im AWT, Swing, JavaFX & SWT Bereich.
T

the_javax

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
 
H

httpdigest

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?
 
T

the_javax

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.
 
T

the_javax

@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?
 
Thema: 

Anderen Java Code durch Code kompilieren und Fehler in Label ausgeben

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben