Frage Code / Vorlagengenerator für Java


Für C # habe ich oft gebraucht Code Schmied und in letzter Zeit die T4-Generator welches Teil von Visual Studio ist.

Ich suche etwas Ähnliches für Java, insbesondere ein Eclipse-Add-In, da ich all meine Java-Entwicklung mit der Eclipse-IDE mache.


5
2017-10-16 19:47


Ursprung


Antworten:


Ich habe das gefunden Freimarker macht einen ziemlich guten Job für die Generierung von Code. Von der Website:

FreeMarker ist eine "Template Engine"; ein generisches Tool zum Generieren von Textausgaben (alles von HTML bis zu automatisch generiertem Quellcode) basierend auf Vorlagen. Es ist ein Java-Paket, eine Klassenbibliothek für Java-Programmierer. Es ist keine Anwendung für Endbenutzer an sich, sondern etwas, das Programmierer in ihre Produkte einbetten können.

Es wird von struts2 sehr oft verwendet. Die Website hat eine lange Liste von anderen Produkten, die Freemarker verwenden.


6
2017-10-17 02:46



Ich habe mit beiden gearbeitet Geschwindigkeit und StringTemplate. Velocity ist ein bisschen konventioneller (denke JSP / ASP-Konzepte), während StringTemplate ein bisschen sauberer scheint. in einem Sinne beschrieben in dieses Artima-Interview. Beide sind reine Templating-Engines und erfordern, dass Sie etwas Code um sie herum schreiben, wenn Sie die vollständige Code-Generierung aus einem Modell durchführen möchten.

StringTemplate wird intern von verwendet ANTLR, die für Ihre Bemühungen nützlich sein können.

Als Alternative könnten Sie mitgehen Finsternisverwenden EMF und JET.


5
2017-12-27 16:31



Sie sollten versuchen, Telosys Tools, ein Eclipse-Plugin für die Code-Generierung von einer bestehenden Datenbank mit anpassbaren Velocity-Vorlagen arbeiten

Sehen: https://sites.google.com/site/telosystools/ 

Eclipse-Marktplatz: http://marketplace.eclipse.org/content/telosys-tools

Die Tutorials sind hier: https://sites.google.com/site/telosystutorial/ 

Sehen Sie sich diese andere Frage zu CodeSmith an: Gibt es ein Freeware-Tool, das wie Codesmith ist?


2
2018-06-08 17:21



Dies ist eine alte Frage, aber die einzige Sache, die nahe kommt (für Java) zu tun, was CodeSmith Generator tut Frühling Roo.

Der Grund ist, dass Java keine partiellen Klassen wie C # hat. Spring Roo kommt dadurch um AspectJ ITDs.


1
2017-09-01 12:44



Meine Antwort ist StringTemplate, aber es gibt ein bisschen mehr als nur das zu verwendende Werkzeug.

Ist es das Problem, Java-Code zu generieren? Oder ist es Java-Tools zu verwenden? Programmierer würden normalerweise sehr komfortabel Code schreiben. Daher wäre es kein Sprung, einige Java-Klassen zu schreiben und einen Weg zu schreiben, der mit StringTemplate Code generieren würde. Ich persönlich denke, es ist eine gute Übung, um Beispielmodelle zu erstellen, generieren Sie Ihren Java-Code aus den Modellen. Und je nach Anwendungsfall könnten Sie JSON-Modelle manuell schreiben und niemals Java-Code schreiben, um den Java-Code zu erzeugen. Oder Sie könnten am Ende Java-Klassen schreiben, die äquivalente Modelle erzeugen.

Sie könnten die StringTemplate-basierte Methode verwenden STST, die JSON liest. STST basiert auf der Befehlszeile und ich bin mir sicher, dass Sie es sowohl mit Eclipse als auch mit Visual Studio verbinden können.

Ich persönlich denke über Portabilität, JSON ist eine extrem einfache Sprache. Und fast jede Sprache hat Bibliotheken, die sie unterstützen.


1
2017-11-14 17:46



Ich bin kein C # -Mann, also weiß ich nicht, was die Äquivalente sein würden, wie auch immer ich herausgefunden habe xdoclet in der Vergangenheit sehr gut sein. Ich glaube nicht, dass es mit Eclipse als solches integriert ist, aber Sie können es aus einem Ameisenskript heraus ausführen. Erzeugt beispielsweise Hibernate Mapping-Dateien aus annotierten Java-Klassen. Nützlich, wenn Sie das suchen :)


0
2017-10-16 20:01



Eclipse hat ein eingebautes Vorlagensystem.

Schau im Fenster -> Einstellungen -> Java -> Code-Stil -> Code-Vorlagen


0
2018-05-15 12:14



Sie könnten sich mein Plugin ansehen: http://fast-code.sourceforge.net/. Er erlaubt es, mehrere Felder auszuwählen und Code unter Verwendung von benutzerdefinierten Geschwindigkeitsschablonen zu erzeugen.


0
2017-10-12 14:52