創建Maven的Web項目
錯誤的命令示例:
mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-webapp -DarchetypeArtifactId=maven-archetype-webapp
使用archetype會默認使用最新的release版本,下圖中顯示最新需要版本是2.3,但是安裝的是2.2,因此需要在命令中顯示的標明版本號。
所以需要對archetype進行限定,同理,對於下面創建Maven的普通項目也適用。將archetype更改爲“三元組座標”限定:org.apache.maven.plugins:maven-archetype-plugin:2.2即可。正確的命令爲:
mvn org.apache.maven.plugins:maven-archetype-plugin:2.2:create -DgroupId=com.mycompany.app -DartifactId=my-webapp -DarchetypeArtifactId=maven-archetype-webapp
使用mvn創建普通java項目
mvn archetype:create -DgroupId=com.codeline.commons
-DartifactId=pjoName
對於以上所述的問題,還有一種方式,但是還沒有親測過:
打開maven的setting.xml文件,找到有效的插件倉庫的配置位置,在標籤下面加上
<snapshots>
<enabled>false</enabled>
</snapshots>
的配置,這樣在下載插件的時候就不會下載快照版本了。
按照第一種方法時,生成的File即爲Maven工程,import到eclipse中,可能會導致“看起來沒有原因的紅叉“。這是因爲Buildpath中沒有關聯正確的jdk導致的。選擇WorkspaceDefaultJRE即可。
附錄
archetype是mvn內置的一個插件,create任務可以創建一個java項目骨架,DgroupId是軟件包的名稱,DartifactId是項目名,DarchetypeArtifactId是可用的mvn項目骨架,目前可以使用的骨架有:
{* maven-archetype-archetype
* maven-archetype-j2ee-simple
* maven-archetype-mojo
* maven-archetype-portlet
* maven-archetype-profiles (currently under development)
* maven-archetype-quickstart
* maven-archetype-simple (currently under development)
* maven-archetype-site
* maven-archetype-site-simple
* maven-archetype-webapp}
每一個骨架都會建相應的目錄結構和一些通用文件。