Ich habe viele Ivy-Dateien in den Build-Projekten meiner Anwendung gesehen. Was ist Efeu und seine Beziehung mit der Ameise?was ist Efeu? und wie es mit der Ameise zusammenhängt?
Antwort
Ivy ist eine Ant-Erweiterung für externe Bibliotheken während des Entwicklungsprozesses der Verwaltung, so dass Sie einen Weg, um sie zu Ihrem Classpath hinzuzufügen, so dass sie in der Anwendung zu bauen Bündelung usw.
mit einigen Überschneidungen Es ist, was Maven tut, aber Ivy ist viel leichter (und macht nicht so viel).
Ivy konkurriert mit Maven Ant Aufgaben (http://maven.apache.org/ant-tasks/index.html), aber sicherlich nicht mit Maven. –
Um fair zu sein, ich habe nicht gesagt, dass es damit konkurrierte, ich sagte, dass es Überschneidungen damit gab. – skaffman
Gut, Ivy ist eine Art "Überlappung", da es sich um einen Dependency-Handling-Mechanismus handelt. Aber trotzdem kann man sie nicht vergleichen. –
Ivy ist ein Abhängigkeitsmanager - er verwaltet und steuert die JAR-Dateien, von denen Ihr Projekt abhängig ist. Wenn Sie die JARs nicht haben, wird es standardmäßig (aus dem Maven 2-Repository), was die Einrichtung des Projekts viel einfacher machen kann.
Außer, dass die meisten entfernten Efeu/Maven-Repos schrecklich lückenhaft und unvollständig sind. – skaffman
@skaffman Fakten bitte? –
@Pascal - meine Erfahrung stimmt mit @ skaffmans Behauptung überein. Als ich zum Beispiel anfing, Maven zu benutzen, hatte ich große Schwierigkeiten, die "richtigen" Versionen der J2EE api JARs zu finden, und ich gab es auf, OAIcat zu finden. Ich habe auch Probleme mit schlechten Abhängigkeiten, die Workarounds "ausgeschlossen" erfordern. Für mich überwiegen jedoch die Vorteile von Maven-ähnlichen Abhängigkeiten. –
Ivy ist ursprünglich eine Jayasoft.fr product, die zu dieser Zeit unter BSD-Lizenz war, aber der Kern von Ivy war immer das gleiche: Es ist ein Abhängigkeitsmanagement-Tool.
Ivys Beziehung zu Ant ist, dass es eine Ant-Erweiterung in dem Sinne ist, dass es durch Ant ist, aber es hängt nicht wirklich davon ab (über die offensichtlichen Teile hinaus). Ivy wurde am 11. Oktober 2007 durch einen Inkubationsprozess in ein Apache-Projekt unter Ant als Subprojekt eingebunden.
Sehr weit verbreitetes Missverständnis besteht darin, dass sie Ivy mit Maven als Ganzes vergleichen. Das funktioniert jedoch nicht wirklich, da Ivy nur auf agile Art und Weise Abhängigkeiten handhabt und sehr gut darin ist, mit simpler Konfiguration und weit automatisierter Unterstützung mit verschiedenen Build-Systemen etc. durch Ant, während Maven wirklich ein Build-System für sich ist. Persönliche Meinungen können und unterscheiden sich darin, was man am besten macht und das mehrere Stackoverflow/Google-Suchen alleine lohnt.
Ich glaube, diese bedeutende und nützliche Punkte hinzuzufügen:
- Ivy Standalone von der Kommandozeile verwendet werden, ohne Ant können. Wenn Ihre CI-Umgebung keine Ant enthält, wird es Sie nicht davon abhalten, Ivy zu verwenden. Ja, die Integration mit Ant ist nett und bei weitem besser dokumentiert. Man könnte die Ant-Integrationsdokumentation jedoch auch auf die eigenständige Verwendung anwenden.
- Ivy ist nicht nur für Java. Mein Team verwendet es erfolgreich, um Abhängigkeiten für ein ziemlich großes .NET-Projekt zu definieren (10 voneinander abhängige Pakete mit mehreren Versionen von jedem in der Produktion mit mehreren Upstream-Abhängigkeiten von Drittherstellern). Funktioniert ziemlich gut. Ich wünschte, die Dokumentation wäre ein bisschen klarer und voller.
- Es gibt zusätzliche Vorteile, die Ivy für Build-Zeit bietet: Upstream- und Downstream-Build-Triggering.
- 1. Junit mit Ameise
- 2. JNI und Java: Ameise anrufen machen oder Anruf ameise machen?
- 3. Was ist Plexus und wie ist es mit Maven verwandt?
- 4. Sonar Xerces Konflikt Findbugs und Efeu: Bericht
- 5. Ameise mit Build-Konfigurationsdateien verwenden
- 6. Was ist [cmdletbinding()] und wie funktioniert es?
- 7. Was ist Thread.CurrentPrincipal und was macht es?
- 8. Was ist Boxen und was macht es?
- 9. Was ist JSR und was nutzt es?
- 10. Was ist POI und was bedeutet es?
- 11. Was ist IDataErrorInfo und wie funktioniert es mit WPF?
- 12. Wie man Ameise benutzt, um mit Android
- 13. Was ist Strophe und wie man es mit JQuery verwendet?
- 14. Was ist der Zweck von "::" und warum ist es nützlich?
- 15. Build fehlgeschlagen: während Ameise mit
- 16. Wie verwendet efeu: publish das [classifier] -Attribut
- 17. query_cache_min_res_unit; Was ist es und was macht es?
- 18. efeu - wie alle Quellen mit nur einer Zeile herunterladen
- 19. Was ist der Unterschied zwischen C++ und Visual C++?
- 20. Intellij Idea Swing Designer und Ameise
- 21. XAML - Was ist der Sinn (tippen) es?
- 22. Running "reine" JUnit 4 Tests mit Ameise
- 23. Ameise visuelle Analyse?
- 24. konfigurieren Ameise für Scala
- 25. Was ist der Unterschied zwischen beschreiben und es im Scherz?
- 26. Was ist System.Reflection.RuntimePropertyInfo und wie vergleiche ich es?
- 27. Ameise javadoc baut nicht
- 28. Ext.net PageProxy: Was ist das und wie funktioniert es?
- 29. Was ist Microsoft.Contracts und woher kommt es?
- 30. Was ist ViewState in JSF und wie wird es verwendet?
http://ant.apache.org/ivy/features.html – Bozho