2013-01-24 22 views
9

我使用Maven 3.0.4,並且默認情況下想要junit 4。
$> MVN原型:用junit創建POM 4

我的項目與命令創建創建-DgroupId = my.group.id -DartifactId = myArtifactId -DpackageName = my.package.name

這使得一個depency到在創建的pom.xml中的junit版本3.8.1,儘管4.8.1版本已經存在。
我的全局settings.xml中沒有junit的依賴項,並且我沒有本地.m2/repository/settings.xml。我不想刪除舊版本3.8.1,但希望所有新項目都使用4.8.1版本創建。

我可以在我的settings.xml(全局或本地無關緊要)中執行此操作嗎?如果是的話,那麼正確的語法是什麼?

回答

4

有兩件事情:

archetype:createarchetype:generate過時;請使用generate,在您的示例中可以與create互換。

至於解決方案,我會說最簡單的事情就是生成你的項目,編輯pom以獲得正確的junit版本;然後在你的項目中運行:

​​

這將根據您的修改,創建原型,您只需用安裝此:

cd target/generated-sources/archetype/ 
mvn install 

現在你可以使用這個新的創造新的Maven項目原型如你所願:

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

希望這會有所幫助。

+0

謝謝。添加第一眼相當複雜,但它會有原因。 – kdg1955

+0

@如何導入/使用新創建的原型到eclipse? – Rembo

+0

首先告訴eclipse哪裏是你的本地目錄文件。在eclipse中:Window => Preference => Maven => Archetypes =>'添加本地目錄'。缺省值是$ HOME/.m2/archetype-catalog.xml。應用並在創建新的Maven項目/模塊時應該可見。謹防快照版本;也許你必須檢查'包含快照原型'。 – kdg1955