创建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}
每一个骨架都会建相应的目录结构和一些通用文件。