Maven Tutorial für Anfänger

kama

Top Contributor
Hallo,

habe gerade mal Dein Tutorial überflogen und folgenden Satz gefunden:
Darunter folgt die Versionsangabe. Hier sind keine Grenzen gesetzt und jeder hat hier so seine eigenen Standards. Ich wähle hier die Standardvorgabe.
Das ist schlicht Falsch. Maven hat da ganz klare Regeln...wie eine version aussehen darf bzw. muss...Hier ein entsprechender Link dazu:
Versions Maven Plugin - Version number rules
Wichtig, dass eine Version auch das "-SNAPSHOT" üblicherweise enthält. Das eine Version als "gerade in Entwicklung" befindlich kennzeichnet.

Die Verwendest TestNG für die Unit Tests...bei einer Verwendung von TestNG ist es auch sehr hilfreich das TestNG Eclipse Plugin zu nutzen...dann kann man wie eigentlich üblich die Unit Tests zuerst einmal aus der IDE heraus starten...

Weiterhin hast Du zum Ausprobieren "laufen lassen" das "mvn install" via Eclipse gewählt...ich würde eher "mvn package" nutzen....

Ein Wort zum Thema Maven-Central fehlt meiner Meinung nach noch....sonst Denk nachher einer die Dependencies werden aus der 4. Dimension geladen ;-)

Weiterhin wäre zu sagen, dass man Ant nicht so global verteufeln sollte...Ant in Kombination mit Ivy liefert das Dependency Management für Ant...aber eben in Ant...mit allen Vor- und Nachteilen. Maven hat auch ein paar Haken und Ösen

Ansonsten sehr gutes Tutorial...

Gruß
Karl Heinz Marbaise
 

P4G0

Mitglied
Moin kama,

hmm mag sein, dass du dich am Besten daran halten solltest, aber wenn du dir mal verschiedene Libraries anschaust, werden die doch alle unterschiedlich benannt (z.B. einmal wie dein Beispiel und einmal Paket-ddmmyyy). Werde es aber trotzdem aktualisieren im Artikel.

Da es ein Anfänger-Tutorial ist, denke ich, dass es einfacher ist, das mit mvn install zu nutzen, vor allem wenn man das Paket als Dependency in einem anderen (lokalen) Projekt nutzen möchte. Den Rest soll man sich ja selber anlesen. Ein Artikel mit goals und profiles könnte ja noch folgen ;)

Was TestNG angeht: da ich einfach ein ganz kurzes Beispiel schreiben wollte, wäre die Erwähnung des TestNG-Plugins zu überdimensioniert. Es geht hier ja um Maven und nicht TestNG ;)

Ant habe ich doch nicht verteufelt. Ich habe nur gesagt, dass Maven von Haus aus mächtiger ist :)

Ein Wort zum zentralen Maven-Repo könnte sicherlich informativ sein, aber auch das finde ich muss nicht unbedingt in einem Anfänger Tutorial stehen. Vielleicht auch da ein weiterer Artikel, der einem zeigt, wie man weitere Repositories einbinden und welche standardmäßig drin sind.

Aber vielen Dank für das Feedback :)
 
Zuletzt bearbeitet:
M

maki

Gast
hmm mag sein, dass du dich am Besten daran halten solltest, aber wenn du dir mal verschiedene Libraries anschaust, werden die doch alle unterschiedlich benannt (z.B. einmal wie dein Beispiel und einmal Paket-ddmmyyy).
Das manche Leute es falsch machen heisst noch lange nicht, dass es deswegen eine gültige Alternative ist.
Die Versionummern Logik ist eine der Maven Einstellungen, die man nicht konfigurieren kann, und deswegen muss man sich daran halten.
Der ganze Dependency Resolution Mechanismus baut darauf auf, dass man SNAPSHOTS von releases anhand ihrer Versionsnummer unterscheiden und sortieren kann.
Zu sagen dass hier jeder seine eigenen Standards hat ist schlicht falsch, es gibt diejenigen die sich an den Standard halten, und diejenigen die es falsch machen.

Ansonsten bin ich auf für ein [c]mvn install[/c] anstatt einem [c]mvn package[/c], besonders (aber nicht nur) in Multimodul Projekten.

Alles in allem find ich das Tutorial ganz gut, aber der theoretische Background den man braucht um Maven zu verstehen & nutzen kommt mir zu kurz, ein eigener Repo Manager ist eigentlich immer Pflicht mit Maven.
 

P4G0

Mitglied
Ich muss zugeben, das mit den Versionsnummern name-ddmmyyyy glaube ich irgendwo mal bei den apache commons gesehen zu haben, deshalb bin ich davon ausgegangen, dass alles valide ist.

Ein Bekannter sagte mir gerade, dass Maven dann lexikografisch sortiert, wenn man sich nicht an das Schema hält. Dennoch sollte man sich am Besten an die Vorgabe halten, deshalb passe ich den Artikel nun auch an.

Ich habe bewusst viel theoretisches weggelassen, da es genügend Tutorials gibt, die einen mit Informationen überfrachten. Meinen Einstieg in Maven habe ich in etwa genauso wie im Tutorial mit LearningByDoing gemacht. Ein Kommilitone hat mich auf die Idee gebracht, da er eben so ein kompaktes Tutorial gesucht hatte.

Das Tutorial ersetzt natürlich nicht die offizielle Doku und Fachbücher etc pp :)

Ich bin derzeit auf der suche, nach einem sehr kompakten Maven-Repo für meinen vServer. Archiva frisst mir zu viel RAM, sodass der Server nach einer Zeit schon den Swap benutzt. Kennst du eine ressourcenschonende Alternative? Denkbar wäre auch, per SCP oder SFTP zu deployen und über meinen normalen Webserver bereitzustellen, ich habe allerdings noch keine passende Anleitung dazu gefunden.
 
M

maki

Gast
Ich muss zugeben, das mit den Versionsnummern name-ddmmyyyy glaube ich irgendwo mal bei den apache commons gesehen zu haben, deshalb bin ich davon ausgegangen, dass alles valide ist.
Das ist wohl ein SNAPSHOT "Release" und das Muster stimmt mit den von Mavenvorgaben überein, es ist also valide.
Das heisst nicht dass es jeder machen kann wie ihm beliebt ;)
Da gab es eine Änderung in Maven 3: https://cwiki.apache.org/MAVEN/mave...ityNotes-UniqueSnapshotVersionsandClassifiers
Noch mehr zu Versionsnummern: Versioning - Maven - Codehaus

Ich steh auf Artifactory, aber "ressourcenschonend" ist das wohl nicht, dafür einfach.
 
Zuletzt bearbeitet von einem Moderator:
Ähnliche Java Themen
  Titel Forum Antworten Datum
Oneixee5 Maven deploy - per SSH Tools - Maven, Gradle, Ant & mehr 6
H Maven kein Hauptmanifestattribut Tools - Maven, Gradle, Ant & mehr 10
M Programm mit Maven erstellen und starten samt Abhängigkeiten Tools - Maven, Gradle, Ant & mehr 27
D Interne Dependencies in Maven Tools - Maven, Gradle, Ant & mehr 51
J log4j2 mit Hibernate über Maven Tools - Maven, Gradle, Ant & mehr 10
thor_norsk Maven Build Failed: kann nicht von start.spring.io generiertes Projekt auf IntelliJ IDE starten Tools - Maven, Gradle, Ant & mehr 8
H Maven JUnit5 Tests werden ignoriert Tools - Maven, Gradle, Ant & mehr 5
thor_norsk Maven Tools - Maven, Gradle, Ant & mehr 32
ExceptionOfExpectation Maven Build Failed: kann nicht von start.spring.io generiertes Projekt auf Eclipse starten Tools - Maven, Gradle, Ant & mehr 20
Ich kann Maven nicht als UmgebungsVariable hinzufügen Tools - Maven, Gradle, Ant & mehr 2
F Maven JAR Plugin Probleme Tools - Maven, Gradle, Ant & mehr 4
W Was "braucht" man denn alles? Maven, Ant, Git, ... Tools - Maven, Gradle, Ant & mehr 21
N Fehler beim Imgui mit Maven Tools - Maven, Gradle, Ant & mehr 7
M Spring Boot Maven pom.xml-Eintrag Tools - Maven, Gradle, Ant & mehr 17
Encera JavaFX und Maven funktioniert nicht Tools - Maven, Gradle, Ant & mehr 1
B maven multi module Projekt und unnötige/zusätzliche Leerzeilen Tools - Maven, Gradle, Ant & mehr 4
J Maven Konfusion Tools - Maven, Gradle, Ant & mehr 7
Tippster Maven Sqlite integrieren (Eclipse, Maven) Tools - Maven, Gradle, Ant & mehr 4
T Image kreieren mit Maven bei JavaFX und nicht modularen Jars Tools - Maven, Gradle, Ant & mehr 12
T JSON Dependencies in Maven Tools - Maven, Gradle, Ant & mehr 7
T JavaFX, Jar über Maven kreieren Tools - Maven, Gradle, Ant & mehr 2
Encera Libraries Maven Projekt hinzufügen Tools - Maven, Gradle, Ant & mehr 9
Oneixee5 Maven Phase Tools - Maven, Gradle, Ant & mehr 3
Robertop maven copy-resources nicht in WAR Datei Tools - Maven, Gradle, Ant & mehr 2
T Maven: Probleme beim Einbinden der Dependencies Tools - Maven, Gradle, Ant & mehr 9
M Mit Maven eine jar Datei bauen ohne irgendeine main Methode Tools - Maven, Gradle, Ant & mehr 1
M Mit Maven eine jar Datei Bauen ohne irgendeine main Methode Tools - Maven, Gradle, Ant & mehr 18
H Maven Maven: <mainClass>NAME?</mainClass> Tools - Maven, Gradle, Ant & mehr 13
H Maven maven-source-plugin is missing Tools - Maven, Gradle, Ant & mehr 5
M Missing Artifact on selbst gehostestes Maven Paket Tools - Maven, Gradle, Ant & mehr 8
M Error code 409 maven Tools - Maven, Gradle, Ant & mehr 5
M github + maven Fehler beim repository erstellen Tools - Maven, Gradle, Ant & mehr 1
M durch Maven wird "var" nicht gefunden Tools - Maven, Gradle, Ant & mehr 4
N Maven Intellij Maven Projekt erstell keine src Tools - Maven, Gradle, Ant & mehr 4
LimDul Maven Einzelne Unit Tests in Maven Builds skippen Tools - Maven, Gradle, Ant & mehr 3
M Maven jpackage-image wird nicht gefunden Tools - Maven, Gradle, Ant & mehr 22
M javafx wird in einem alten programm nicht bei maven gefunden Tools - Maven, Gradle, Ant & mehr 15
L Maven IntelliJ, Maven und JavaFX + SceneBuilder Tools - Maven, Gradle, Ant & mehr 23
von Spotz Maven und Spring: "Add to classpath" ? Tools - Maven, Gradle, Ant & mehr 29
Kirby.exe Projekt mit Maven kompilieren Tools - Maven, Gradle, Ant & mehr 13
P Maven Projekt Abhängigkeiten auf bekante Schwachstellen prüfen Tools - Maven, Gradle, Ant & mehr 4
H Maven dependency Problem ? Tools - Maven, Gradle, Ant & mehr 23
B Maven und Intellij Tools - Maven, Gradle, Ant & mehr 24
P Maven Test werden nicht ausgeführt . Junit . Maven . Surefire . Eclipse Tools - Maven, Gradle, Ant & mehr 12
yakazuqi Maven Eigene API mit Maven einbinden Tools - Maven, Gradle, Ant & mehr 1
M Was ist besser für den Anfang, Maven oder Gradle? Tools - Maven, Gradle, Ant & mehr 6
P Maven Wie die Maven Project version in JSP page verwenden? Tools - Maven, Gradle, Ant & mehr 2
C Maven Multi-Module Projekt Tools - Maven, Gradle, Ant & mehr 2
T Maven Warnings/Fehlermeldungen Tools - Maven, Gradle, Ant & mehr 12
T Maven und Datenbank(treiber) Tools - Maven, Gradle, Ant & mehr 13
T Maven Runnable Jar Tools - Maven, Gradle, Ant & mehr 5
T Grundlagen Maven und Git/Github Tools - Maven, Gradle, Ant & mehr 2
LimDul Maven Maven Surefire Plugin - Warnings upgrade Tools - Maven, Gradle, Ant & mehr 2
G Maven upload Tools - Maven, Gradle, Ant & mehr 0
K Maven - Parent oder Dependency? Tools - Maven, Gradle, Ant & mehr 5
B Maven Maven deploy Tools - Maven, Gradle, Ant & mehr 4
H Jenkins keine Tests gefunden - aber in Maven Tools - Maven, Gradle, Ant & mehr 30
P Mit Maven einen spezifischen Branch nach Tag-Parameter erstellen (in Jenkins-Job) Tools - Maven, Gradle, Ant & mehr 3
P Nur einen Teilbaum in Maven releasen? Tools - Maven, Gradle, Ant & mehr 7
D Cannot invoke "javafx.scene.control.MenuButton.getScene()" nach konvertierung zu maven Tools - Maven, Gradle, Ant & mehr 3
H Maven - keine Durchführung von Tests Tools - Maven, Gradle, Ant & mehr 12
H Jenkins - maven-jar-plugin - kein jar-file Tools - Maven, Gradle, Ant & mehr 38
P JavaFX jar mit Maven Tools - Maven, Gradle, Ant & mehr 9
P Maven & Intellij Modul kann nicht aufgelöst werden Tools - Maven, Gradle, Ant & mehr 12
H Eclipse JUnit erzeugt Fehler im Maven-Test Tools - Maven, Gradle, Ant & mehr 1
H Maven Anfängerproblem - No plugin found for prefix 'archetype' in the current project and in the plugin groups Tools - Maven, Gradle, Ant & mehr 25
sascha-sphw Maven vs Gradle Tools - Maven, Gradle, Ant & mehr 24
D Maven Maven und die Build-Geschwindigkeit Tools - Maven, Gradle, Ant & mehr 11
K Maven IntelliJ + Maven + JavaFX Tools - Maven, Gradle, Ant & mehr 2
J Maven Mit Maven eine ZIP Datei erstellen Tools - Maven, Gradle, Ant & mehr 0
K Maven install schlägt fehl Tools - Maven, Gradle, Ant & mehr 10
I Problem: Maven import extern Lib Tools - Maven, Gradle, Ant & mehr 3
Tom299 Maven Maven funktioniert nach Installation nicht Tools - Maven, Gradle, Ant & mehr 1
I Maven Interface hinzugefügt - Error Tools - Maven, Gradle, Ant & mehr 1
M Verständnisfrage Maven Tools - Maven, Gradle, Ant & mehr 2
S Maven installieren - "Befehl wurde nicht gefunden" Tools - Maven, Gradle, Ant & mehr 1
E Maven: Wie Abhängigkeiten analysieren? Tools - Maven, Gradle, Ant & mehr 0
E Maven Maven distributionManagement Vererbung in child POM Tools - Maven, Gradle, Ant & mehr 8
P Maven Parent- Child POMs Tools - Maven, Gradle, Ant & mehr 13
E Release Kandidaten mit Maven bauen Tools - Maven, Gradle, Ant & mehr 4
C Orderstruktur bei Libarys - Wie mit Ant oder Maven lösen? Tools - Maven, Gradle, Ant & mehr 0
G Maven, finde Dependency nicht... Tools - Maven, Gradle, Ant & mehr 2
G Maven Continious Integration mit Jenkins, Maven und Nexus - wie richtig? Tools - Maven, Gradle, Ant & mehr 1
P Maven Parent und Child Poms - dependencies Tools - Maven, Gradle, Ant & mehr 1
reibi Maven Maven + Eclipse Tools - Maven, Gradle, Ant & mehr 0
P Maven add resource Tools - Maven, Gradle, Ant & mehr 0
D [Maven Pluginentwicklung] - Plugin das nur auf Parent pom läuft Tools - Maven, Gradle, Ant & mehr 0
S Maven Maven und Auflösen von JSF EL Tools - Maven, Gradle, Ant & mehr 5
H Maven HSQLDB in den Maven lifecycle einbinden Tools - Maven, Gradle, Ant & mehr 5
S Maven Unterschiedliche Deployments mit Maven Tools - Maven, Gradle, Ant & mehr 2
S Maven buildnumber-maven-plugin / Formatproblem mit timestamp Tools - Maven, Gradle, Ant & mehr 17
P Erzeugen von WebServices mit Maven und Eclipse (external Tool) Tools - Maven, Gradle, Ant & mehr 2
aze Maven downgraden von 3.x auf 2.09 unter Linux Tools - Maven, Gradle, Ant & mehr 4
Rudolf JSF und Maven mit Eclipse Tools - Maven, Gradle, Ant & mehr 5
M Maven-Dependency kann nicht gefunden werden Tools - Maven, Gradle, Ant & mehr 2
M Maven imports aus Modulen Tools - Maven, Gradle, Ant & mehr 4
P multimodul maven in SVN Tools - Maven, Gradle, Ant & mehr 3
D [Maven] neuerdings "No plugin found for prefix ..." errors Tools - Maven, Gradle, Ant & mehr 7
C Automatisches Deployen in ein externes Maven Repository. Tools - Maven, Gradle, Ant & mehr 5
D JUnit Test in Maven fail und in Eclipse erolgreich Tools - Maven, Gradle, Ant & mehr 4

Ähnliche Java Themen

Neue Themen


Oben