In Eclipse habe ich festgestellt, dass ich problemlos eine Ant-Build-Datei für mein Projekt exportieren kann . Es enthält Verweise auf Bibliotheken von Drittanbietern und einige Basisziele. Ich verwende es aus meiner globalen Build-Datei. Das einzige, was mich daran stört, ist, dass wir, wenn etwas in der Projektstruktur geändert wird (wie das Hinzufügen einer neuen Bibliothek eines Drittanbieters), darüber nachdenken müssen (ja, das kann manchmal schwierig sein!), Diese build.xml-Datei neu zu generieren. Ich frage mich, ob jemand hier eine Möglichkeit kennt, es automatisch zu aktualisieren. Mit "automatisch" meine ich, dass es nicht notwendig wäre, Eclipse explizit zu bitten, es jedes Mal neu zu generieren, wenn es benötigt wird. Ich weiß allerdings nicht, was der Auslöser sein könnte ...
Irgendwelche Gedanken oder Kenntnisse dazu?
Vielen Dank!
MJ
Antworten:
Klicken Sie mit der rechten Maustaste auf ein Eclipse-Projekt, dann auf "Exportieren", dann auf "Allgemein" und dann auf "Ant-Build-Dateien". Ich denke jedoch nicht, dass es möglich ist, das Ausgabeformat anzupassen.
quelle
Ich habe versucht, dasselbe selbst zu tun. Was ich fand, war, dass das "Export Ant Buildfile" in der Datei org.eclipse.ant.internal.ui.datatransfer.AntBuildfileExportPage.java gestartet wird. Dies befindet sich im Plugin org.eclipse.ant.ui.
Verwenden Sie zum Anzeigen der Quelle die Plug-In-Entwicklungsperspektive und öffnen Sie die Plug-In-Ansicht. Klicken Sie dann mit der rechten Maustaste auf das Plugin org.eclipse.ant.ui und wählen Sie Importieren als> Quellprojekt.
Mein Plan ist es, ein Java-Programm zu erstellen, mit dem die Generierung von Ant-Builddateien programmgesteuert gestartet und bei jedem Erstellen in einer Ant-Datei aufgerufen werden kann, indem die Ant-Datei zu den Buildern meiner Projekte hinzugefügt wird (Klicken Sie mit der rechten Maustaste auf die Einstellungen eines Projekts unter den Buildern Tab).
quelle
Ich hatte das gleiche Problem, unsere Arbeitsumgebung basiert auf Eclipse-Java-Projekten, und wir mussten automatisch eine ANT-Datei erstellen, damit wir einen Server für die kontinuierliche Integration verwenden konnten (in unserem Fall Jenkins).
Wir haben unser eigenes Eclipse Java to Ant-Tool eingeführt, das jetzt auf GitHub verfügbar ist:
Ameise-Build-für-Java
Um es zu verwenden, rufen Sie an:
java -jar ant-build-for-java.jar <folder with repositories> [<.userlibraries file>]
Das erste Argument ist der Ordner mit den Repositorys. Der Ordner wird rekursiv nach
.project
Dateien durchsucht . Das Tool erstellt einebuild.xml
im angegebenen Ordner.Optional kann das zweite Argument eine exportierte .userlibraries-Datei aus Eclipse sein, die benötigt wird, wenn eines der Projekte Eclipse-Benutzerbibliotheken verwendet. Das Tool wurde nur mit Benutzerbibliotheken unter Verwendung relativer Pfade getestet. So verwenden wir sie in unserem Repo. Dies bedeutet, dass sich JARs und andere Archive, die von Projekten benötigt werden, in einem Eclipse-Projekt befinden und von dort aus referenziert werden.
Das Tool unterstützt nur Abhängigkeiten von anderen Eclipse-Projekten und von Eclipse-Benutzerbibliotheken.
quelle
Schauen Sie sich die .classpath-Datei in Ihrem Projekt an, die wahrscheinlich die meisten gewünschten Informationen enthält. Die einfachste Möglichkeit besteht darin, Ihren eigenen "build.xml-Export" zu rollen, dh den Klassenpfad während des Builds selbst in eine neue build.xml zu verarbeiten und ihn dann mit einer ant-Unteraufgabe aufzurufen.
Das Parsen von ein wenig XML klingt für mich viel einfacher als das Einbinden in Eclipse JDT.
quelle
Wenn Sie nur die Klassenpfadeinträge benötigen, gehe ich wie folgt vor, um den Eclipse-Erstellungspfad zu verwenden.
<xmlproperty file=".classpath" collapseAttributes="true" delimiter=";" />
Stellen Sie dann diesen Wert im Pfad ein
<path id="eclipse.classpath"> <pathelement path="${classpath.classpathentry.path}"/> </path> <target name="compile" depends="init"> <javac srcdir="${src}" destdir="${build}" updatedProperty="compiled"> <classpath refid="eclipse.classpath"/> </javac> </target>
quelle
Ich bin derjenige, der den Ant-Exportfilter an Eclipse gespendet hat. Ich habe die automatische Exportfunktion hinzugefügt, jedoch nur zu meinem persönlichen Plug-In eclipse2ant , das ich weiterhin pflege , um Fehlerkorrekturen zu koordinieren.
Leider habe ich keine Zeit, es mit den offiziellen Eclipse-Builds zusammenzuführen.
quelle
Wählen Sie im Dialogfeld "Exportieren" die Option "Allgemein"> "Ant-Build-Dateien" wie folgt aus:
Klicken Sie auf Weiter . Im Bildschirm "Generate Ant Buildfiless":
build.xml
Datei im Projektverzeichnis wie folgt:build.xml
Datei, um ihren Inhalt im Ant-Editor zu öffnen:Quelle
quelle