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

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>releasesid>
            <name>bazaar releasesname>
            <url>http://127.0.0.1:8081/nexus/content/repositories/releases/url>
        repository>
        <snapshotRepository>
            <id>snapshotsid>
            <name>bazaar snapshotsname>
            <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这个命令就可以使用你所上传的项目模板来创建项目。

你可能感兴趣的:(Maven实战)