您的位置:首页 > 其它

Maven实战:用maven来创建项目(用已有项目模板来创建项目)

2016-07-09 23:49 288 查看
Maven的作用:在曾经的一次面试中,曾经被问到一个问题,maven是个什么东东。

它的主要主要作用在于:1.构建项目;2.管理依赖;3.管理项目信息

Maven构建项目:maven构建项目的命令:
mvn archetype:generate


当执行这个命令时,maven会去中央仓库请求archetypeCatalog.xml这个文件,这个文件是一个maven的原型模板目录,记载着已经发布到中央仓库的项目原型模板。如果调用这个命令,会很慢,因为要下载这个很大的文件。我们一般在实际开发中,用到的模板其实很有限,所以一般情况需要指定一个原型模板所在的位置。使用命令:
mvn archetype:generate -DarchetypeCatalog=xxx


Nexus私服 一般情况下,当我们使用maven的中央仓库时,下载jar包的速度会受限于网速。另外如果一些公司内部的jar需要分发,或者需要利用公司内部已有的项目原型模板来创建项目,这个时候都需要一个东东来做这些事件,就用到了nexus私服。具体安装方法参看(//TODO)。

根据已有项目模板创建项目:在更多的时候,我们是利用公司已有的项目模板来创建新的项目,因为已有的项目中已经有了所需jar的依赖,项目的架构层次或者是多模块项目间的依赖关系等等。maven提供了一套能够从已有的项目中抽象出来项目骨架的方案。切换到项目的根目录,执行
maven archetype:create-from-project
。这个时候会生成target文件夹,切换到target\generated-sources\archetype文件夹下,如果不需要将该项目模板发布到公司的私服上的话,执行mvn install即安装到本地的maven仓库中。切换到maven的settings文件中配置的maven仓库地址,默认为$user/.m2/文件夹下,会看到一个archetype-catalog.xml文件,打开后会发现其中包含了刚才安装的项目的信息。

执行
mvn archetype:generate -DarchetypeCatalog=local
即调用本地的项目模板目录,能够看到已经存在的项目模板,输入数字选择你所使用的项目模板,根据交互内容输入你准备创建项目的信息即可。

如果需要将该项目模板信息发布到私服上,需要在target\generated-sources\archetype\pom.xml中配置需要部署的位置。需要加入:

<distributionManagement>
<repository>
<id>releases</id>
<name>bazaar releases</name>
<url>http://127.0.0.1:8081/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<name>bazaar snapshots</name>
<url>http://127.0.0.1:8081/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>


将你所使用的私服地址替换即可。然后执行mvn deploy即将项目模板发布到私服上。你的同事就可以使用
mvn archetype:generate -DarchetypeCatalog=http://127.0.0.1:8081/nexus/content/repositories/snapshots/archetype-catalog.xml
这个命令就可以使用你所上传的项目模板来创建项目。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: