2012-03-29 28 views
0

Ich bin seit 23 Jahren ein Programmierer. Ich mache Java, Spring und verwende Eclipse als meine IDE. Die meisten meiner Projekte sind webbasiert und laufen in Tomcat und JBoss. Die Firma, in der ich mich jetzt befinde, bittet Maven um meine Projekte, aber ich sehe Maven als ein Build-Tool ... Wir benutzen Subversion für die Versionskontrolle usw., aber wie passt Maven? Und wo fange ich an?Maven oder nicht zu Maven

Wir sind mit der folgenden

Java, Spring, JBoss, Eclipse Subversion

Bitte geben Sie mir eine Eingabe.

+1

Die Frage wurde geschlossen, so kann ich nicht antworten, aber ich werde kommentieren: Ich denke, Sie sollten alle Tools in Betracht ziehen, die helfen könnten, aber nach meiner Erfahrung ist Maven eine Menge Ärger, viel mehr Ärger als es wert ist viele Projekte. Viele Menschen fördern es als Heilmittel für alle Ihre Beschwerden, aber es kann eine echte Schmerzen im Hintergrund sein und ist nicht für alle Projekte gerechtfertigt (das gilt für jedes Werkzeug, natürlich). Ich ermutige Sie, nicht nur den Hype zu lesen; Suchen Sie nach Blogs und Geschichten über die Schwierigkeiten mit Maven und überlegen Sie sorgfältig, welche Auswirkungen die Verwendung von etwas hat, das übermäßig "automatisch" zu sein versucht. –

+0

Maven ist hauptsächlich ein Abhängigkeitsmanager, Abhängigkeiten von Ihrem Projekt und Abhängigkeiten von Ihren Projektabhängigkeiten und so weiter. Sie können ohne es gehen, aber dann müssen Sie es manuell tun.Sein Wert ist vergleichbar mit Eclipse oder svn oder git und derzeit ist es defacto als Dependency Manager und öffentliche Maven-Repositories sind defacto für JAR-Datei-Verteilung. –

Antwort

4

Maven ist ein Build/Deploy-Tool. Es ist ähnlich zu verwenden cmake oder ant. Es kann über Plugins in eclipse gesteckt werden, es kann verwendet werden, um Kriege/Gläser an tomcat/jboss/websphere etc. zu verteilen. Es kann Testsuites und viele mehr laufen lassen.

Sie sollten sich Maven in 5 Minuten ansehen.

http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html

5

definitiv für Maven gehen. Es sorgt für Ordnung im Build-Prozess und hat einige coole Funktionen wie automatische Abhängigkeitsverwaltung.

es enthält auch Plugins, die gut mit allen Tools integrieren, die Sie erwähnten.

Start bei http://www.sonatype.com/books/mvnref-book/reference/ für ein Maven Buch

3

defnitely Maven. IDE ist kein Build-System und eignet sich nicht für das Abhängigkeitsmanagement. Mit maven können Sie Build angeben, der fast überall funktioniert und vorhersehbar ist. Ein weiterer Vorteil ist die Abhängigkeitsspezifikation - ypu sag einfach, dass du Spring in Version x.y.z benötigst und Hibernate in Version z.k.y und du bekommst es nur mit allen Abhängigkeiten.

Verwenden Sie Maven als primäres Build-Tool und generieren Sie daraus Eclipse-Projektdateien. (und niemals .project oder .classpath in die Quellcodeverwaltung einchecken). Und einige IDEs (vor allem: Idee) verwenden einfach Maven Builddeskriptoren als Projekt. Freigabeprozess, Dokumentation Website Generation usw.

4

Jenkins, Maven und Subversion sind ein tolles Team -

Sie werden auch eine Menge advnates von maevn bekommen. Sobald Sie alles konfiguriert haben, können Sie Jenkins entspannen und beobachten, wie Jenkins die Quellen aus Ihren Subversion-Repositorys auscheckt und Ihre Applikation erstellt.

Sie können ihn beim Arbeiten beobachten oder die Build-Berichte nach der Arbeit genießen.

Daumen hoch für Maven und hire the butler!

+1

Wir haben Ant-Skripte verwendet. Diese Kombination hat unser Leben stark verbessert (obwohl Maven eine ziemlich steile Lernkurve hat). Werfen Sie darüber hinaus ein Maven-Repository wie Nexus hinein: Sie legen eine Änderung fest und eine Minute später steht Ihnen in Ihrem Maven-Repository ein neuer Snapshot zur Verfügung, den andere Entwickler testen können. Zauber –