Compiler im Quellcode aufrufen?

ZAntjeZ

Mitglied
Hallo,

ich schreibe ein Programm, bei dem der Benutzer sich selber Algorithmen erstellen kann, die dann ausgeführt werden sollen (innerhalb meiner Anwendung). Wie kann ich den Java-Compiler zur Laufzeit meiner Anwendung in meinem Quelltext aufrufen, und dann auch den Algorithmus als Java-File ausführen?

Danke schon im Voraus,

Tschau
Antje
 
Hallo,

Ich habe versucht, den Java.lang.Compiler einzubinden. Zur Probe, habe ich mir eine Klasse "HalloWelt" angelegt, um meinen Quellcode zu testen, aber es geht nicht. Was ist hier falsch:

Code:
		public void ausfuehren()
		{
		//	Compiler.command(javac HalloWelt.java);
			Compiler.compileClass(HalloWelt);
		}

Danke für jede Hilfe,

Tschau
Antje
 
...scheint nicht so verwendbar zu sein (lt. API-Doku):

The Compiler class is provided to support Java-to-native-code compilers and related services. By design, the Compiler class does nothing; it serves as a placeholder for a JIT compiler implementation.
Vielleicht könntest Du die Sache anders angehen, denn Du willst ja Folgendes:

ich schreibe ein Programm, bei dem der Benutzer sich selber Algorithmen erstellen kann, die dann ausgeführt werden sollen (innerhalb meiner Anwendung). Wie kann ich den Java-Compiler zur Laufzeit meiner Anwendung in meinem Quelltext aufrufen, und dann auch den Algorithmus als Java-File ausführen?
Du könntest auch mit "Runtime" arbeiten:

Code:
Runtime.getRuntime().exec("javac xyz.MyClass.java");
Class c = Class.forName("xyz.MyClass");
Object oMyClass = c.newInstance();

CU schnuffie ;-)
 
Hallo!

Binde das tools.jar (liegt dem SDK bei) in dein Projekt ein und verwende den darin enthalten Compiler ... oder verwende den Eclipse Compiler ...

Gruß Tom
 
ich habe die tools.jar auf meinem Rechner schon überall gesucht. Ich finde sie leider nicht. Auch wenn sie bei meinem Java-Zeugs dabei sein sollte. Sie ist es nicht. :-(
 
Hallo!

Wie ich schon sagte liegt die Datei ( tools.jar ) bei jedem SDK(!) bei und zwar im Verzeichnis %JAVA_SDK_HOME%\lib.

Bei einer JRE gibts kein Tools.jar

Gruß Tom
 
Zurück