Was ist der Sinn der Verwendung von Ant, Maven und Buildr? wird nicht die Verwendung von Build in Eclipse oder Netbeans gut funktionieren? ich bin nur neugierig, was der Zweck und der Nutzen der erweiterten Build-Tools sind.
Antworten
Zu viele Anzeigen?@anonymous,
- Warum gehen Sie davon aus, dass ich, ein Mitglied Ihres Teams, die ganze Zeit eine IDE benutze ständig? Ich möchte den Code vielleicht auf einem Headless Build Server bauen, ist das in Ordnung?
- Würden Sie mir auch das Recht absprechen eine kontinuierliche Integration zu verwenden Engine zu verwenden?
- Kann ich bitte Abhängigkeiten aus einem zentralen Repository abrufen? Wie kann ich das tun?
- Würden Sie mich an eine bestimmte IDE binden? Ich kann Eclipse nicht ohne weiteres auf meinem sehr alten Laptop ausführen, aber ich werde mir einen neuen kaufen.
Vielleicht sollte ich auch Subversion deinstallieren und Patches verwenden oder einfach Ordner auf einer sftp/ftp/Samba-Freigabe zippen.
Die Build-Tools ermöglichen es Ihnen, einen Build automatisch durchzuführen, ohne dass ein Mensch eingreifen muss, was unerlässlich ist, wenn Sie eine Codebasis haben, mit der Sie viele Anwendungen erstellen können (wie wir).
Wir wollen sicher sein, dass jede einzelne unserer Anwendungen nach einer Änderung der Codebasis korrekt erstellt werden kann. Die beste Möglichkeit, dies zu überprüfen, besteht darin, einen Computer dies automatisch mit einem Continouos-Integrationstool erledigen zu lassen. Wir checken einfach den Code ein, und der CI-Server erkennt die Änderung und baut alle Module, die von dieser Änderung betroffen sind, neu auf. Wenn etwas kaputt geht, wird die verantwortliche Person direkt angeschrieben.
Es ist äußerst praktisch, Dinge automatisieren zu können.
Um die Antwort von Jens Schauder zu erweitern, landen viele dieser Build-Optionen in einer Art .project-Datei. Eines der Übel von Eclipse ist, dass sie absolute Pfadnamen in allen Projektdateien speichern, so dass Sie eine Projektdatei nicht von einem Rechner auf einen anderen kopieren können, dessen Arbeitsbereich sich in einem anderen Verzeichnis befinden könnte.
Der wichtigste Grund für mich sind automatisierte Builds.
IDEs arbeiten lediglich auf einer höheren Abstraktionsebene.
NetBeans verwendet von Haus aus Ant als zugrunde liegendes Build-Tool und kann neuerdings Maven-Projekte direkt in NetBeans öffnen. Daher kann Ihr typisches NetBeans-Projekt mit Ant kompiliert werden und Ihr Maven-Projekt ist bereits ein NetBeans-Projekt.
Wie bei jeder Diskussion zwischen GUI und CLI scheinen IDEs für Anfänger einfacher zu sein, aber sobald man die Idee hat, wird es mühsam, komplexe Dinge zu tun.
Das Ändern der Konfiguration mit einer IDE bedeutet, dass man irgendwo klicken muss, was für grundlegende Dinge einfach ist, aber für komplexe Dinge muss man die richtige Stelle zum Klicken finden. Außerdem scheinen IDEs die wichtigen Informationen zu verstecken. Das Anklicken einer Schaltfläche zum Hinzufügen einer Bibliothek ist einfach, aber man weiß vielleicht immer noch nicht, wo die Bibliothek ist, usw.
Im Gegensatz dazu ist die Verwendung einer Befehlszeilenschnittstelle (CLI) anfangs nicht ganz einfach, wird aber schnell zur Selbstverständlichkeit. Sie ermöglicht es, komplexe Dinge einfacher zu tun.
Die Verwendung von Ant oder Maven bedeutet, dass jeder seine eigene IDE wählen kann, um den Code zu bearbeiten. Jemandem zu sagen, er solle IDE X installieren, um ihn zu kompilieren, ist viel aufwändiger als die Anweisung "führe <Build-Befehl> in deiner Shell aus". Und natürlich kann man das erstere einem externen Tool nicht erklären.
Zusammenfassend lässt sich sagen, dass die IDE selbst ein Build-Tool verwendet. Im Falle von NetBeans wird Ant (oder Maven) verwendet, so dass Sie alle Vor- und Nachteile dieser Tools nutzen können. Eclipse verwendet seine eigene Sache (soweit ich weiß), kann aber auch Ant-Skripte integrieren.
Was die Build-Tools selbst anbelangt, so unterscheidet sich Maven deutlich von Ant. Es kann bestimmte Abhängigkeiten herunterladen, bis hin zum Herunterladen eines Webservers, um Ihr Projekt auszuführen.
In allen Projekten rufen die Entwickler den Build-Prozess oft manuell auf. Dies ist jedoch nicht für große Projekte geeignet, bei denen es sehr schwierig ist, den Überblick darüber zu behalten, was gebaut werden muss, in welcher Reihenfolge und welche Abhängigkeiten es im Build-Prozess gibt.
Build Tools Erledigt verschiedene Aufgaben in der Anwendung, die der Entwickler in seinem täglichen Leben erledigen wird.
Sie sind
1. das Herunterladen von Abhängigkeiten.
2. das Kompilieren von Quellcode in Binärcode.
3. Verpackung des Binärcodes.
4. laufende Tests.
5. die Bereitstellung auf Produktionssystemen.
- See previous answers
- Weitere Antworten anzeigen