Aus einem Java Programm eine .java datei Kompilieren

Status
Nicht offen für weitere Antworten.
J

JavaAnfänger81

Gast
Hallo,
vielleicht hab ich nach den falschen Schlagworten gesucht, leider bin ich im netzt nicht fündig geworden zu meinem problem:

Ich möchte eine Java programm schreiben das eine .java datei erstellt und diese dann automatisch kompiliert da sie dann auf methoden dieser neuen java datei zugreifen muss, hier ein bsp. was ich meine:

Bestehendes Programm a:
erzeuge "quell-code"
speicher "Quell-code" als neu.java

kompiliere neu.java // hier ist mein problem, gebt es schon etwas in java das dies kann?

nutze methoden aus neu.java

viellen dank und frohe feiertage an alle :)
 

Wildcard

Top Contributor
In Java 6 ist die Compiler API integriert. Auf die Methoden der neuen Klasse kannst du mit Reflection zugreifen.
Je nachdem was du genau machen willst, könnte aber dynamic EMF der bessere Ansatz sein.
 
J

javaanfänger81

Gast
danke für den tipp, leider bin ich ein echter java anfänger nun bekomme ich immer diese fehlermeldung obwohl ich eigentlich es genau so mache wie es in der api steht :
Exception in thread "main" java.lang.NullPointerException
at CompilerDemo.main(CompilerDemo.java:14)
Code:
import java.io.File;
import java.util.Arrays;
import javax.tools.JavaCompiler;
import javax.tools.JavaFileObject;
import javax.tools.StandardJavaFileManager;
import javax.tools.ToolProvider;

public class CompilerDemo {
	public static void main(String[] args) throws Exception {

		File files1 = new File("c:/A.java");

		JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
		StandardJavaFileManager fileManager = compiler.getStandardFileManager(
				null, null, null);

		Iterable<? extends JavaFileObject> compilationUnits1 = fileManager
				.getJavaFileObjectsFromFiles(Arrays.asList(files1));
		compiler
				.getTask(null, fileManager, null, null, null, compilationUnits1)
				.call();

		fileManager.close();

	}
}
 

Prusik

Aktives Mitglied
Ein paar (mögliche) Fehlerquellen
Code:
public class CompilerDemo {
   public static void main(String[] args) throws Exception {
Wer fängt die Exception die du throwst? niemand... --> try/catch verwenden


Code:
      File files1 = new File("c:/A.java");

      JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
      StandardJavaFileManager fileManager = compiler.getStandardFileManager(
            null, null, null);
Neue Linie --> auf eine Linie nehmen => nur beim kopieren?
Code:
      Iterable<? extends JavaFileObject> compilationUnits1 = fileManager


            .getJavaFileObjectsFromFiles(Arrays.asList(files1));
mit extends hab ich das noch nie gesehen... kann aber sein, dass es das gibt... Ich kenns aber so:

Iterable<Klasse> ...
Code:
      compiler
            .getTask(null, fileManager, null, null, null, compilationUnits1)
            .call();

      fileManager.close();

   }
}

Ich behaupte das mit der neuen Linie müsste es sein, da der Fehler sich auf linie 14 befindet.
 
G

Guest

Gast
Vielen Dank für die schnelle hilfe, leider stehe ich immer noch vor dem selben Problem kann es vielleicht an meine Java Veriosn Liedgen (1.6.0_02) oder an meinem betriebssystem Windows Vista, was ist der StandartFileManager eigentlich?

schon bei dieser einfachen anwendung bekomme ich leider nicht all zu viel sagenden fehler :

Exception in thread "main" java.lang.NullPointerException
at CompilerDemo.main(CompilerDemo.java:10)
Code:
import javax.tools.JavaCompiler;
import javax.tools.StandardJavaFileManager;
import javax.tools.ToolProvider;

public class CompilerDemo {
	public static void main(String[] args)  {

		JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
		StandardJavaFileManager fileManager ;
         fileManager = compiler.getStandardFileManager(null, null, null);

	}
}

ich bin für jeden tipp sehr dankbar.
 
G

Guest

Gast
Hab den fehler selber gefunden für alle die es interesseiren sollte hatte jre statt jdk benutzt
 

MiMij

Bekanntes Mitglied
Das bedeutet das irgendeins von deinen Objecten NULL ist. Also pruefe mal genau deinen Code. Ob mit dem Debugger oder mit System.out.println und gebe die einzelnen Objecte aus. Dann siehst du schnell welches Object "leer" ist.
Zb unter
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
machst du dann
System.out.println("compiler: " + compiler);
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Java Programm, das kleine Buchstaben in einem String zählen soll und bei großen Buchstaben oder Sonderzeichen abbrechen soll. Java Basics - Anfänger-Themen 5
? Klassen einfacher Fehler in einem Java Programm. Java Basics - Anfänger-Themen 5
U Java-Programm auf einem Server starten Java Basics - Anfänger-Themen 33
C Aufruf eines Java Programms aus einem anderen Java Programm Java Basics - Anfänger-Themen 3
G eMail verschicken in einem Java-Programm Java Basics - Anfänger-Themen 8
D Einem Java Programm Parameter/Werte übergeben Java Basics - Anfänger-Themen 2
D kann mir jmd. bei einem java programm helfen? Java Basics - Anfänger-Themen 7
M Hilfe bei einem einfachen Java-Programm Java Basics - Anfänger-Themen 41
R Probleme mit einem Java-Programm Java Basics - Anfänger-Themen 3
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
U Kann man bei Java gleich mehrere Bedingungen prüfen in der If, aber in einem "Satz"? Java Basics - Anfänger-Themen 1
J Alle .java Dateien von einem Verzeichnis in eine Zip speichern Java Basics - Anfänger-Themen 2
O Java Weinachtsbaum in einem Bilderramen Java Basics - Anfänger-Themen 5
J Datentypen Komm in einem Android Buch mit Java nicht weiter... Java Basics - Anfänger-Themen 7
N Abfragen eines Textes aus einem JTextField in Java, Funktion, CardLayout, Java Basics - Anfänger-Themen 2
Aprendiendo [JAVA-Syntax] (int... variable) bei einem Konstruktor Java Basics - Anfänger-Themen 8
D Java doppelte Zahlen auch über 10 in einem String entfernen Java Basics - Anfänger-Themen 2
L Java Text datei nur bis zu einem Punkt auslesen? Java Basics - Anfänger-Themen 3
D Java doppelte Zahl/Zeichen in einem String entfernen Java Basics - Anfänger-Themen 6
S Erste Schritte Suche nach einem guten JAVA-Buch (Definition im Thread) Java Basics - Anfänger-Themen 6
B Erste Schritte Brauche Hilfe bei einem Java-Taschenrechner Java Basics - Anfänger-Themen 11
P Problem :Java-Dateien in einem Ordner ablegen Java Basics - Anfänger-Themen 10
G Erste Schritte Java "Scripte" aus einem Hauptskript starten Java Basics - Anfänger-Themen 7
S Viele Fragen von einem Anfänger in Java Java Basics - Anfänger-Themen 2
D Rücktaste bei einem Java Taschenrechner Java Basics - Anfänger-Themen 6
K Java mit einem Buch lernen Java Basics - Anfänger-Themen 8
N Aufrufen von .java Klassen in einem Projekt Java Basics - Anfänger-Themen 2
S Ich kann mit einem Eclipse 3.2 keine Java Dateien Starten Java Basics - Anfänger-Themen 10
A Vorgehensweise bei einem Java Projekt Java Basics - Anfänger-Themen 3
X Die Java-Community, in der einem garantiert geholfen wird. Java Basics - Anfänger-Themen 4
K Inhalte aus einem Java-Applet-Fenster auslesen Java Basics - Anfänger-Themen 2
O Weiterleitung in einem Java-Servlet Java Basics - Anfänger-Themen 5
S Hilfe bei einem Java-Anfängerprogramm. Java Basics - Anfänger-Themen 10
B Fragen aus einem worddokument in Java einbinden Java Basics - Anfänger-Themen 9
L Wie kann ich auch in einem ActionListener ein neues java Pro Java Basics - Anfänger-Themen 8
T Probleme mit einem Java-Applet Java Basics - Anfänger-Themen 17
N ein Java-popUp mit einem Button schließen Java Basics - Anfänger-Themen 3
S Daten in eine Variable in einem anderen Java File schreiben Java Basics - Anfänger-Themen 10
D Java auf einem PDA IPAQ 5550 Java Basics - Anfänger-Themen 3
G LinnienDiagram in java in einem swing Java Basics - Anfänger-Themen 5
K Mehrere Werte in einem Switch Case parallel überprüfen Java Basics - Anfänger-Themen 23
Zrebna Fragen zu einem Klassendiagramm Java Basics - Anfänger-Themen 8
S HashMap mehrere Keys zu einem Value Java Basics - Anfänger-Themen 3
F 2x 16bit Werte zu einem 32bit und dann splitten mit 0xb Java Basics - Anfänger-Themen 1
J JSON mit einem JPanel Java Basics - Anfänger-Themen 3
F Einem GIT repository ein Projekt hinzufügen Java Basics - Anfänger-Themen 1
J Frage zu einem "Taschenrechner" code Java Basics - Anfänger-Themen 9
I Klassen von einem package laden, Statisches Feld auslesen und Objekt erstellen Java Basics - Anfänger-Themen 8
J Schlüsselworte Prüfen, ob ein bestimmtes, ganzes Wort in einem String enthalten ist. Java Basics - Anfänger-Themen 6
P Probleme mit NetBeans: Wie lässt sich jar. Datei an einem MacBook öffnen Java Basics - Anfänger-Themen 21
J Auf einem JLabel Linien Malen Java Basics - Anfänger-Themen 1
I @Entity Klassen, Service Beans etc. aus einem Share Projekt beziehen? Java Basics - Anfänger-Themen 26
R Images aus einem Array ausgeben Java Basics - Anfänger-Themen 3
XWing Randomizer mit einem String Java Basics - Anfänger-Themen 2
D OOP Array einem Objekt zuweisen Java Basics - Anfänger-Themen 2
O Zahlen aus einem char-array per char + Zeichen addieren Java Basics - Anfänger-Themen 2
S Bestimmte werte aus einem Array löschen Java Basics - Anfänger-Themen 2
S Ausgeben wie oft ein Wert in einem Array vorkommt Java Basics - Anfänger-Themen 7
N Einzelne Werte aus einem TreeSet auslesen Java Basics - Anfänger-Themen 2
N Welche Objekte kann man zu einem Set hinzufügen Java Basics - Anfänger-Themen 4
Kumora ArrayIndexOutOfBoundsException bei einem Sortierverfahren Java Basics - Anfänger-Themen 2
I Viereck / Rechteck Prüfung innerhalb einem bestimmten Bereich Java Basics - Anfänger-Themen 2
Distanz zwischen zwei Zeichenfolgen in einem String bestimmen Java Basics - Anfänger-Themen 5
Substring in einem String finden Java Basics - Anfänger-Themen 13
J Fehlerbehandlung an einem Beispiel Java Basics - Anfänger-Themen 8
I ResultSet aus meiner SQL-Abfrage in einem JTextfield ausgeben. Java Basics - Anfänger-Themen 1
I Innerhalb einem Bild ein Teil austauschen Java Basics - Anfänger-Themen 26
I Dateigröße von einem InputStream oder byte[] bekommen Java Basics - Anfänger-Themen 2
H Compiler-Fehler Klasse in einem Package wird nicht gefunden bzw. akzeptiert Java Basics - Anfänger-Themen 12
S Algorithmus entwicklen, der zu einem gegebenen Datum die Jahreszeit ermittelt Java Basics - Anfänger-Themen 13
B In einem Thread Endlosschleife beenden Java Basics - Anfänger-Themen 19
A Elemente in einem Array Java Basics - Anfänger-Themen 5
G Position einer unbekannten 3-stelligen-Zahl in einem String finden Java Basics - Anfänger-Themen 15
S Eine Variable in einem Array speichern Java Basics - Anfänger-Themen 5
T Methode, die prüft ob in einem Int-Array maximal 2 Zahlen enthalten sind, die größer als ihr Vorgänger sind Java Basics - Anfänger-Themen 5
berserkerdq2 Wie gebe ich den Pfad zu einer Datei an, die in einem Ordner in Eclipse ist? Java Basics - Anfänger-Themen 1
M Objekt in einem Objekt speichern Java Basics - Anfänger-Themen 9
J Speichern von zwei Variablen durch Auslesen aus einem Numberfield Java Basics - Anfänger-Themen 2
L Gridmuster in einem Array Java Basics - Anfänger-Themen 2
D spezifische Knoten in einem Baum zählen Java Basics - Anfänger-Themen 9
X Erste Schritte Hilfe bei einem kleinen Spiel. Java Basics - Anfänger-Themen 19
O Array mit einem Zeichen vergleichen Java Basics - Anfänger-Themen 1
B Brauche Hilfe zu einem Code Java Basics - Anfänger-Themen 5
J Zahlen bis zu einem bestimmten Grenzwert ausgeben Java Basics - Anfänger-Themen 11
P9cman Vokale in einem String überprüfen mittels Rekursion Java Basics - Anfänger-Themen 8
M Wie kann ich eine Methode aus einem Interface in eine Klasse implementieren, so dass sie ihre Funktion ausführt? Java Basics - Anfänger-Themen 7
M Wie kann ich in einem Konstruktor die Methode eines anderen Interfaces mit den jeweiligen Parametern aufrufen? Java Basics - Anfänger-Themen 8
Igig1 Wie lasse ich dir Werte in einem Array zusammenrücken? Java Basics - Anfänger-Themen 4
W Methode, die mit einem Datum arbeitet? Java Basics - Anfänger-Themen 22
Igig1 Welche Werte sind als default Werte in einem Array, der als Datentyp eine Klasse hat? Java Basics - Anfänger-Themen 1
Kiki01 Wie würde eine geeignete Schleife aussehen, die die relative Häufigkeit für jeden Charakter in einem Text bestimmt? Java Basics - Anfänger-Themen 3
C Hilfe bei einem Anfängerprojekt Java Basics - Anfänger-Themen 25
U Char zu einem String machen Java Basics - Anfänger-Themen 1
Schniffi Nur bestimmte Bilder aus einem Array auf Image Button anzeigen lassen Java Basics - Anfänger-Themen 3
S Längster Pfad zwischen zwei Vertices in einem Graph Java Basics - Anfänger-Themen 3
I Upload File zu einem Webservice Java Basics - Anfänger-Themen 17
Naxon89 Input/Output Ein PDF in einem BLOB umwandeln um ihn dann als PDF wieder anzuzeigen Java Basics - Anfänger-Themen 3
Kotelettklopfer Mehrere Projekte in einem Git verwalten Java Basics - Anfänger-Themen 10
B in einem Array den nächstgelegenen Wert zu einem eingabewert finden Java Basics - Anfänger-Themen 8
E JPanels auf gleicher Höhe (Y-Achse) in einem FlowLayout platzieren Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben