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项目的骨架。
2. 生成项目骨架
先到项目根目录看看吧
然后打开cmd切换到maven项目的根目录,其实就是pom文件所在的目录。因为只有那个东东和maven命令才有关系嘛
同时执行 mvn archetype:create-from-project 顾名思义,就是根据当前项目结构创建项目骨架喽,maven命令太人性话了。感觉命令贴出来都不用解释。
执行完了,我们再去项目根目录里溜达下,看看有什么变化
呦,这貌似就是我们要的东西嘛,这东西怎么用呢?既然是jar文件估计和其他插件一样用了,先不管了,扔到本地仓库再说
3. 安装项目骨架
我们先看看本地仓库吧
然后cmd 切换目录到 ...\target\generated-sources\archetype,其实还是pom文件所在的文件目录,同时执行mvn install
执行完我们再去本地仓库看看有什么变化
的确有变化,不过和一般的jar包安装有很大的区别,那怎么用呢,还是个问题,不要急,我们继续。
4.使用自定义项目骨架
先新建个目录用来创建项目
然后cmd切换到这个目录下,同时执行mvn archetype:generate -DarchetypeCatalog=local
选择本刚刚创建的骨架,定义好自己的项目信息,最后直接回车就好了。重点已在上图中标出来了,就不再赘述了。接下来我们看看项目目录,并用eclipse打开看看结果
5. 查看成果
项目生成了,不错。
project-archetype-spring:生成项目骨架的项目 crm-base:利用项目骨架生成的项目
除了项目目录一致,连pom文件也是一样的哦。
自定义项目骨架,需要注意的地方
1) . 对于想保留的文件夹或者资源文件夹一定要在里面放文件,否则在生成项目骨架时会移除空文件夹(如新生成的项目就没有src/java/test这个资源文件夹,骨架项目里是有的,我这里截图截不到了)。
2).在第四步中,包名如果没有定义,默认是groupId。
3) .自定义的骨架项目名最好是和插件/框架不重名的,不然用骨架生成的项目会出问题,(涉及项目信息的文件(POM),新项目名会替换老项目名,导致插件不存在如:testarchetype替换spring-boot后,插件spring-boot-starter-parent就变成了testarchetype-starter-parent)。
好了就扯到这了,这篇博客也是自己在边做边写的。可能还有很多没有注意到的地方,希望有大婶指明哈