maven之旅之构建自己的maven项目骨架

最近自己学着搭web框架,用maven每次都要自己去创建文件夹和配置pom文件,第一次就当熟练项目结构和插件了,也没什么怨言,这搭了几个demo项目之后,还是这么去搞。完全是低效不讨好的事。咱不久是程序员吗,代码讲究重用,项目骨架又何尝不是呢,干嘛不搞个自动化呢,把那些常用,通用的东西给生成模版,以便复用。以前写过一篇用系统自带的项目骨架创建项目,回头看了下,也就让我有项目骨架的概念了。跟实际的项目没啥关系。于是乎再为了偷懒,我就又研究了一下,便有了下文。


先说下大环境 : windows7 + eclipse4.5(mars) + maven3.3 + jdk8 

因为要用命令行和eclipse,所以maven和jdk(1.7版本就够用了, 我本地是1.8的而已)要装。这部分安装可以参见jdk安装  maven安装

接下来是自定义项目骨架的生成与使用的步骤:

1. 自定义项目骨架,不知道项目骨架是什么概念的可以去看看我以前那篇很初级的文章maven项目骨架。就不在这赘述了。 

用eclipse创建个maven项目。我这里只是随便定义的一个web项目的骨架。

maven之旅之构建自己的maven项目骨架

2. 生成项目骨架

先到项目根目录看看吧

maven之旅之构建自己的maven项目骨架

然后打开cmd切换到maven项目的根目录,其实就是pom文件所在的目录。因为只有那个东东和maven命令才有关系嘛

同时执行 mvn archetype:create-from-project 顾名思义,就是根据当前项目结构创建项目骨架喽,maven命令太人性话了。感觉命令贴出来都不用解释。

执行完了,我们再去项目根目录里溜达下,看看有什么变化

maven之旅之构建自己的maven项目骨架

呦,这貌似就是我们要的东西嘛,这东西怎么用呢?既然是jar文件估计和其他插件一样用了,先不管了,扔到本地仓库再说

3. 安装项目骨架

我们先看看本地仓库吧

maven之旅之构建自己的maven项目骨架

然后cmd 切换目录到 ...\target\generated-sources\archetype,其实还是pom文件所在的文件目录,同时执行mvn install

执行完我们再去本地仓库看看有什么变化

maven之旅之构建自己的maven项目骨架

的确有变化,不过和一般的jar包安装有很大的区别,那怎么用呢,还是个问题,不要急,我们继续。

4.使用自定义项目骨架

先新建个目录用来创建项目

maven之旅之构建自己的maven项目骨架

然后cmd切换到这个目录下,同时执行mvn archetype:generate -DarchetypeCatalog=local

maven之旅之构建自己的maven项目骨架

选择本刚刚创建的骨架,定义好自己的项目信息,最后直接回车就好了。重点已在上图中标出来了,就不再赘述了。接下来我们看看项目目录,并用eclipse打开看看结果

5. 查看成果

maven之旅之构建自己的maven项目骨架

项目生成了,不错。

maven之旅之构建自己的maven项目骨架

project-archetype-spring:生成项目骨架的项目         crm-base:利用项目骨架生成的项目

除了项目目录一致,连pom文件也是一样的哦。

自定义项目骨架,需要注意的地方

1)  . 对于想保留的文件夹或者资源文件夹一定要在里面放文件,否则在生成项目骨架时会移除空文件夹(如新生成的项目就没有src/java/test这个资源文件夹,骨架项目里是有的,我这里截图截不到了)。

2).在第四步中,包名如果没有定义,默认是groupId。

3)   .自定义的骨架项目名最好是和插件/框架不重名的,不然用骨架生成的项目会出问题,(涉及项目信息的文件(POM),新项目名会替换老项目名,导致插件不存在如:testarchetype替换spring-boot后,插件spring-boot-starter-parent就变成了testarchetype-starter-parent)。  


好了就扯到这了,这篇博客也是自己在边做边写的。可能还有很多没有注意到的地方,希望有大婶指明哈