2 Stimmen

Wie man ein Projekt und seine Abhängigkeiten mit Ant und Ivy erstellt

Ich habe eine WebApp mit zwei Abhängigkeiten wie unten gezeigt. Ich möchte eine War-Datei für die Bereitstellung auf Tomcat mit Ant + Ivy erstellen.

+
+-MyWebApp // this Dynamic Java Web Application (deployed Tomcat and launches
           // a thread contained in MyApp) 
+-MyApp // this is just a vanilla Java Application
+-MyCommonStuff // these are common classes shared between MyApp and MyWebApp
                // Ex. Database access code & business classes

Anhand der Ant-Dokumentation habe ich herausgefunden, wie ich die entsprechenden build.xml-Dateien für jedes Projekt erstellen kann. Mit anderen Worten, jedes Projekt hat eine unabhängige build.xml, so dass ich, um das gesamte Projekt zu bauen, nur Folgendes tun muss:

mkdir build
cd build
export SOME_COMMONBASE=`pwd`
svn co https://mybuildmachine.lan/svn/mycommonstuff mycommonstuff
cd mycommonstuff
ant
cd ..
% this produces mycommonstuff.jar
svn co https://mybuildmachine.lan/svn/myapp myapp
cd myapp
ant
cd ..
% this produces myapp.jar
svn co https://mybuildmachine.lan/svn/mywebapp mywebapp
cd mycommonstuff
ant
cd ..
% this produces mywebapp.war and deploys it to Tomcat

Jetzt würde ich gerne alles zusammenbringen, damit ich einen einzigen Build starten kann. Oberflächlich betrachtet sieht es so aus, als ob ich irgendwie in der Lage sein sollte, eine Ivy build.xml zu erstellen, die die Abhängigkeiten miteinander verdrahtet. Ich habe jedoch die Ivy-Dokumentation gelesen und nach Beispielen gegoogelt, aber ich bin immer noch nicht schlauer, wie ich diese Aufgabe bewältigen kann. Kann mir jemand ein paar Tipps geben, wie ich das machen kann?

0voto

Esko Punkte 28242

Was Sie tun möchten, ist die Verwendung von Ivys Ameisenaufgaben für die Verkabelung. Es gibt eine ganze Reihe von Feinheiten, aber im Grunde brauchen Sie Ihr eigenes Ivy-Repository und veröffentlichen dann einfach Ihre eigenen Projektartefakte dort, um sie anderswo zu verwenden.

Für JAR-Bibliotheks-Projekte:

  • Utilisez efeu:abrufen um die Abhängigkeiten zu erhalten, damit Sie das Projekt in eine Bibliothek einbauen können.
  • Utilisez efeu:veröffentlichen um das erstellte JAR in Ihrem eigenen Ivy-Repository zu veröffentlichen.

Für WAR-Projekte:

  • Noch einmal, verwenden Sie efeu:abrufen um die Abhängigkeiten zu erhalten, damit Sie das Projekt in eine WAR erstellen können.

Was die anderen Teile betrifft, so hat Ant selbst viele Aufgaben, um Ihnen zu helfen, und dann gibt es noch einige Aufgaben, die von anderen bereitgestellt werden, wie z. B. svn-Aufgabe von tigris um den Quellcode aus SVN zu holen und Die optionale SCP-Aufgabe von Ant für die Übertragung der WAR-Datei auf einen externen Server.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X