Frage

Ich möchte ein "tojavacode ()" auf meinem Modell erstellen, das den erforderlichen Java -Quellcode generiert hätte, um dieses Modell zu generieren (egal die Gründe oder ob er nicht erfolgen sollte oder nicht, noch die Kompatibilitätsprobleme, die auftreten können).

Ich bin ratlos, wie ich dies testen kann. Ich benutze Maven, aber generiere Sources wird für mich nicht wirklich funktionieren, da mein Server für ordnungsgemäße Massentests stehen muss. Ich erhalte den Server während des "Test" -Ziels, aber generiere Sources ist einfach zu früh.

Andererseits kann ich, während ich den eingebauten Compiler (von Tools.Jar im JDK) dazu verwenden kann, nicht weiß, wie ich es zum Testen (oder laden) in das Glas packen kann.

Irgendwelche Ideen?

War es hilfreich?

Lösung

Du kannst den ... benutzen Javacompiler API Um Ihre Quelldateien zu kompilieren und a einrichten Klassenloader So laden Sie die kompilierten Klassen in Ihrem Test (Beispielcode). Tools.jar muss auf dem Klassenpfad sein. Dies ist der Fall, wenn der JDK verwendet wird.

Wenn Ihr generierter Code für eine bestimmte Klasse stabil ist, die Sie verwenden könnten Annotationsprozessor So generieren Sie den Quellcode und kompilieren Sie ihn im selben Javac -Lauf wie die kommentierte Klasse.

Andere Tipps

Sie können Ihrem Maven Ameisenaufgaben hinzufügen. Das ist ein Weg zu etwas "außerhalb des Klassikers" während eines Maven-Builds. Wie beim Hinzufügen einer Javac -Ameisen -Aufgabe zu Mavens -Testzielen oder so.

(Entschuldigung, ich bin so verwirrt wie Ihr Kommentar Matt B - aber die eingebetteten Ameisenaufgaben sind hier Ihr Schweizer Armeemesser.)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top