it-swarm.com.de

Wie kann man eine ant build.xml-Datei automatisch aus Eclipse erstellen?

In Eclipse fand ich ich kann leicht eine Ant-Build-Datei für mein Projekt exportieren . Es enthält Verweise auf Drittanbieter-Bibliotheken und einige Basisziele. Ich verwende es aus meiner globalen Build-Datei. Das einzige, was mich darüber stört, ist, dass, wenn etwas in der Projektstruktur geändert wird (z. B. das Hinzufügen einer neuen Bibliothek von Drittanbietern), wir darüber nachdenken müssen (ja, das kann manchmal hart sein!), Um die build.xml-Datei zu regenerieren. Ich frage mich, ob jemand hier eine Möglichkeit zur automatischen Aktualisierung kennt. Mit "automatisch" meine ich, dass es nicht notwendig ist, Eclipse explizit zu bitten, es jedes Mal neu zu erstellen, wenn es benötigt wird. Ich weiß nicht, was der Auslöser sein könnte ...

Gedanken oder Wissen dazu?

Vielen Dank!

MJ

77
Joanis

Klicken Sie mit der rechten Maustaste auf ein Eclipse-Projekt, dann "Exportieren", dann "Allgemein" und dann "Ant-Build-Dateien". Ich glaube nicht, dass es möglich ist, das Ausgabeformat anzupassen.

70
Guillaume

Ich habe selbst versucht, dasselbe zu tun. Ich fand heraus, dass das "Export Ant Buildfile" in der Datei org.Eclipse.ant.internal.ui.datatransfer.AntBuildfileExportPage.Java abgelegt wird. Dies befindet sich im org.Eclipse.ant.ui-Plugin. 

Verwenden Sie zum Anzeigen der Quelle die Perspektive "Plug-In-Entwicklung" und öffnen Sie die Plug-In-Ansicht. Klicken Sie dann mit der rechten Maustaste auf das Plug-In org.Eclipse.ant.ui, und wählen Sie Import als> Quellprojekt aus.

Mein Plan ist, ein Java-Programm zu erstellen, mit dem die Generierung der Ant-Build-Datei programmgesteuert gestartet wird, und dieses jedes Mal in einer Ant-Datei aufgerufen werden, wenn ich die Ant-Datei den Buildern meiner Projekte hinzufüge (Klicken Sie mit der rechten Maustaste auf die Einstellungen eines Projekts, unter den Buildern Tab).

5

Ich hatte das gleiche Problem, unsere Arbeitsumgebung basiert auf Eclipse-Java-Projekten, und wir mussten automatisch eine ANT-Datei erstellen, damit wir einen kontinuierlichen Integrationsserver verwenden können (in unserem Fall Jenkins).

Wir haben unser eigenes Eclipse Java to Ant-Tool auf den Markt gebracht, das jetzt auf GitHub verfügbar ist:

ant-build-for-Java

Um es zu benutzen, rufen Sie an:

Java -jar ant-build-for-Java.jar <folder with repositories> [<.userlibraries file>]

Das erste Argument ist der Ordner mit den Repositorys. Es durchsucht den Ordner rekursiv nach .project-Dateien. Das Tool erstellt im angegebenen Ordner einen build.xml

Optional kann das zweite Argument eine exportierte .userlibraries-Datei von Eclipse sein, die benötigt wird, wenn eines der Projekte Eclipse-Benutzerbibliotheken verwendet. Das Tool wurde nur mit Benutzerbibliotheken mit relativen Pfaden getestet, wie wir sie in unserem Repo verwenden. 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.

4
JBishop

Wenn Sie nur die Klassenpfadeinträge benötigen, verwende ich den Eclipse-Erstellungspfad folgendermaßen.

<xmlproperty file=".classpath" collapseAttributes="true" delimiter=";" />

Setzen Sie dann diesen Wert in den Pfad

<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>
2
scott

Schauen Sie sich die .classpath-Datei in Ihrem Projekt an, die wahrscheinlich die meisten gewünschten Informationen enthält. Die einfachste Option kann sein, Ihren eigenen "build.xml-Export" zu rollen, d. H. Während des Builds selbst .classpath in eine neue build.xml zu verarbeiten und diese dann mit einer ant-Subtask aufzurufen.

Ein bisschen XML zu analysieren klingt für mich viel einfacher, als in Eclipse JDT einzuhängen.

2
Jan Schiefer

Ich bin derjenige, der den Ant-Exportfilter an Eclipse gespendet hat. Ich habe die Funktion für den automatischen Export hinzugefügt, aber nur zu meinem persönlichen Plug-In Eclipse2ant , das immer noch dazu dient, Fehlerbehebungen zu koordinieren.

Leider habe ich keine Zeit, es mit den offiziellen Eclipse-Builds zusammenzuführen.

1
J2G
  • Wählen Sie im Hauptmenü Datei> Exportieren (oder klicken Sie mit der rechten Maustaste auf den Projektnamen und wählen Sie Exportieren> Exportieren…).
  • Wählen Sie im Exportdialogfeld General> Ant Buildfiles wie folgt aus:  enter image description here

  • Klicken Sie auf Next. Im Bildschirm Ant Antfilfilesscreen erstellen:

    • Überprüfen Sie das Projekt in der Liste.
    • Deaktivieren Sie die Option "Ziel zum Kompilieren eines Projekts mit Eclipse-Compiler erstellen", da wir eine Build-Datei erstellen möchten, die von Eclipse unabhängig ist.
    • Behalten Sie den Namen der Ant-Builddatei als Standard bei: build.xml

 enter image description here

  • Klicken Sie auf Finish. Eclipse generiert die build.xml-Datei im Projektverzeichnis wie folgt:
     enter image description here
  • Doppelklicken Sie auf die Datei build.xml, um den Inhalt im Ant-Editor zu öffnen:  enter image description here

Quelle

0
Premraj