2013-01-24 9 views
9

Ich benutze Maven 3.0.4 und möchte standardmäßig junit 4 haben.create POM mit junit 4

Meine Projekte werden mit dem Befehl erstellt:
$> MVN Urbild: create -DgroupId = my.group.id -DartifactId = myArtifactId -DpackageName = my.package.name

Dies stellt eine depency zu junit version 3.8.1 in der erstellten pom.xml, obwohl Version 4.8.1 bereits vorhanden ist.
In meiner globalen settings.xml gibt es keine Abhängigkeiten zu junit, und ich habe kein lokales .m2/repository/settings.xml. Ich möchte nicht die alte Version 3.8.1. Entfernen, sondern möchte, dass alle neuen Projekte mit Version 4.8.1 erstellt werden.
Kann ich dies in meiner settings.xml tun (global oder lokal ist egal)? Und wenn ja, wie lautet die korrekte Syntax?

Antwort

4

Ein paar Dinge:

archetype:create von archetype:generate ist veraltet; Bitte verwenden Sie generate, es ist austauschbar mit create in Ihrem Beispiel.

Als eine Lösung würde ich sagen, die einfachste Sache zu tun ist, Ihr Projekt zu generieren, bearbeiten Sie die Pom, um die richtige junit Version zu haben; und dann aus Ihrem Projekt ausführen:

mvn archetype:create-from-project 

, die ein Urbild schaffen wird auf der Grundlage Ihrer Änderungen, müssen Sie einfach installieren diese mit:

cd target/generated-sources/archetype/ 
mvn install 

Jetzt können Sie neue Maven-Projekte mit diesem neuen erstellen Archetyp wie Sie möchten mit:

mvn archetype:generate -DgroupId=my.group.id -DartifactId=newArtifact -DpackageName=my.package.name -DarchetypeArtifactId=myArtifactId-archetype -DarchetypeGroupId=my.group.id 

Hoffentlich hilft dies.

+0

Danke. Fügen Sie einen ersten Blick ziemlich komplex hinzu, aber es wird Gründe haben. – kdg1955

+0

@Ein neuer Import/Verwendung neu erstellter Archetypen zum Verfinstern? – Rembo

+0

Sagen Sie der Eclipse zuerst, wo sich Ihre lokale Katalogdatei befindet. In Eclipse: Fenster => Präferenz => Maven => Archetypen => 'Lokalen Katalog hinzufügen'. Der Standardwert ist $ HOME/.m2/archetype-catalog.xml. Übernehmen und es sollte sichtbar sein, wenn Sie ein neues Maven-Projekt/Modul erstellen. Vorsicht vor Snapshot-Versionen; vielleicht musst du 'include snapshot archetype' überprüfen. – kdg1955