Linux使用IDEA配置maven的web项目骨架archetype(模板) 自定义骨架
说明:本文说的骨架就是 archetype,也可以理解为模板,总是就是指你创建项目时的基本配置。
前言:在使用IDEA创建maven的web项目时,一般都是直接使用提供的默认web项目,如图

然而创建之后,整个项目就几乎都是默认配置,什么都没有。

那么问题来了,(前提是使用maven)我能不能创建一个ssm的web项目骨架,作为一个模板,然后以后
直接按着这个模板创建呢?这样的话就不用每次都修改web.xml、pom.xml这些东西了,也不用每次添加
各种ssm的配置文件了。答案是可以的。方法如下:
1、搭建好基本的项目骨架

上面就是我常用的骨架,主要就是一些配置文件和web.xml、pom.xml的内容
为什么没有java、test的源代码文件夹呢?因为我之前试过了,当配置的时候,这些文件夹
都没有生成,生成的只有resource文件夹,我还没系统学习maven,所以具体也不知道原因。
但是,即使是这些配置文件就已经满足我的需求了,至少不用每次想练个ssm的demo都要重新配置
2.使用maven的命令创建骨架
在1步骤搭建好骨架之后,需要创建maven的archetype(骨架),也就是生成一些相关的东西,比如jar包。
在项目的根目录下(即项目的pom.xml文件所在目录)下执行maven命令:
mvn archetype:create-from-project
然后就创建成功了,如下图

3.使用maven的命令安装骨架
在archetype的根目录下(即: 项目根目录\target\generated-sources\archetype)再执行以下maven命令:
mvn install
这样就把该archetype安装到了本地的maven 仓库中了
错误:
但是,我遇到了一点问题,错误我忘了截图,反正就是说在仓库中找不到目录,
No such file or directory
如果碰到这个问题,不要慌,那是因为仓库中没有创建文件夹。
文件夹的名字应该是groupId的值。创建之后,再次执行 maven install 就能安装成功了。
4.使用archetype
使用可以用maven命令行的方式,但在本文中是使用IDEA。
当你在你的maven仓库中看到你安装的骨架之后,就可以在IDEA中添加archetype了。
添加方式如下

在创建maven项目时,选择Create from archetype,然后点击Add Archetype
之后就在弹出窗口填上你的 groupId、artifactId、version就可以了。
然后选择你刚创建的模板就可以创建成功了。
补充:
1、使用范围
按照上面方法创建的骨架,一般都是你本地电脑使用的,也就是说如果别人想用,需要用另外的方法。
这里就不阐述了。
2、删除骨架
当你不想使用这个骨架,或者骨架有误的时候,需要删除,该怎么删除呢?主要是删除两个地方的东西。
步骤如下:
(1)删除IDEA中的骨架
主要是要删除UserArchetypes.xml文件的内容。不同操作系统的位置不一样。
Mac系统:
一般是在${...}/.IntelliJIdea2018.3/Maven/Indices/UserArchetypes.xml
Linux系统:
一般是在${...}/.IntelliJIdea2018.3/system/Maven/Indices/UserArchetypes.xml
Windows系统:
一般是在${...}/.IntelliJIdea2018.3/system/Maven/Indices/UserArchetypes.xml
${...}指的是你的安装路径,以你的为主
主要就是这个路径下有个UserArchetypes.xml文件,然后打开删除里面的<archetype>标签即可
(2)删除maven仓库中的骨架
直接在你的本地仓库中按照你创建的骨架的groupId、artifactId寻找,之后删除文件夹即可。
比如我这里是直接删掉my文件夹就行了。
3.骨架命名
你的自定义骨架的groupId千万不要跟常见的名词重复,不然就会哭到爆。
命名是以这个来的 groupId、artifactId、version
比如我的骨架是groupId是my
然后我就用这个骨架新建项目,然后我就填一般的groupId和artifactId。

也就是说 你的自定义骨架是my.yellow-archetype
你用这个骨架创建的项目是cn.test
你就会发现你创建的项目里面,所有出现mybatis的词的地方,都变成了cnbatis

所以综上所述,把你的groupId命名为乱七八糟就行了,比如fsjdghsjkghsji
参考链接:
https://blog.csdn.net/qq_21251983/article/details/52252970?utm_source=blogxgwz6
https://stackoverflow.com/questions/4361567/where-are-added-archetypes-stored-in-intellij
Linux使用IDEA配置maven的web项目骨架archetype(模板) 自定义骨架的更多相关文章
- eclipse中配置maven的web项目
提高效率,一般都会使用IED如eclipse来帮助开发.eclipse中单独建立一个web项目或者是maven项目是可以通过插件很容易完成的,但是如果要结合2者,就需要先建立一个,然后再转换或使原型. ...
- maven构建web项目,用jetty测试的配置pom.xml
maven构建web项目,用jetty测试的配置pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmln ...
- 【maven】 在 MyEcplise上使用maven搭建Web项目
二.在My Ecplise上使用Maven搭建Web项目 1.新建一个maven项目 2.create一个简单的骨架 3.就像在ecplise中一样设置项目的以下配置 4.新创建的项目结构如下 ...
- step2-------使用myeclipse创建maven java web项目
1.文章内容概述: 在对项目需求进行分析之后,决定使用maven对我的java web项目进行管理,这篇文章记录了使用myeclipse创建maven java web项目的过程. 2.开发环境: j ...
- Maven学习总结(七)——eclipse中使用Maven创建Web项目
一.创建Web项目 1.1 选择建立Maven Project 选择File -> New ->Project,如下图所示:
- Maven发布web项目到tomcat
在java开发中经常要引入很多第三方jar包:然而无论是java web开发还是其他java项目的开发经常会由于缺少依赖包引来一些不必要的异常.常常也是因为这样的原因导致许多简单的缺包和版本问题耗费大 ...
- Maven——eclipse中使用Maven创建Web项目
原文:http://www.cnblogs.com/xdp-gacl/p/4054814.html 一.创建Web项目 1.1 选择建立Maven Project 选择File -> New - ...
- 转】Maven学习总结(七)——eclipse中使用Maven创建Web项目
原博文出自于: http://www.cnblogs.com/xdp-gacl/p/4054814.html 感谢! 一.创建Web项目 1.1 选择建立Maven Project 选择File -& ...
- 使用Maven构建Web项目的目录结构
1.Web项目的目录结构 基于Java的Web项目,标准的打包方式是WAR.与JAR比较,包含更多的内容,比如JSP文件.Servlet.Java类.web.xml配置文件.依赖JAR包.静态 ...
随机推荐
- golang中的defer
1.defer的作用 defer 语句会将函数推迟到外层函数返回之后执行. 即defer后面的函数在defer语句所在的函数执行结束的时候会被调用 2.defer的语法 defer后面必须是函数调用语 ...
- 如何用RSS订阅?
本文由云+社区发表 摘要:我们常常会有订阅别人文章的需求,有更新的时候希望能有提醒的功能,RSS就是这样一个订阅的方式.很多网站上看到RSS的入口,点进去以后总是显示一堆的XML代码,我们来看看怎么使 ...
- ERROR 1129 (HY000): mysqladmin flush-hosts
mysql报错:ERROR 1129 (HY000): Host * is blocked because of many connection errors; unblock with 'mysql ...
- #Java学习之路——基础阶段二(第四篇)
我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言: ...
- C/C++性能测试工具GNU gprof
代码剖析(Code profiling)程序员在优化软件性能时要注意应尽量优化软件中被频繁调用的部分,这样才能对程序进行有效优化.使用真实的数据,精确的分析应用程序在时间上的花费的行为就成为_代码剖析 ...
- 《白帽子讲Web安全》- 学习笔记
一.为何要了解Web安全 最近加入新公司后,公司的官网突然被Google标记为了不安全的诈骗网站,一时间我们信息技术部门成为了众矢之的,虽然老官网并不是我们开发的(因为开发老官网的前辈们全都跑路了). ...
- MySQL系列--4.使用Python3访问数据库
1.安装MySQL驱动 pip install mysql-connector 安装完成后进入命令行模式,导入驱动,如果不报错,说明安装成功 Python 3.6.7 (default, Oct 22 ...
- [翻译] 使用 Python 创建你自己的 Shell:Part II
目录 使用 Python 创建你自己的 Shell:Part II 原文链接与说明 步骤 4:内置命令 最后的想法 使用 Python 创建你自己的 Shell:Part II 原文链接与说明 htt ...
- MySQL 笔记整理(14) --count(*)这么慢,我该怎么办?
笔记记录自林晓斌(丁奇)老师的<MySQL实战45讲> (本篇内图片均来自丁奇老师的讲解,如有侵权,请联系我删除) 14) --count(*)这么慢,我该怎么办? 有时你会发现,随着系统 ...
- JavaScript基础-3
3 运算符 按照个数分类可分为:一元运算符.二元运算符.三元运算符: 按照功能分类可分为:算数运算符.自增运算符.比较运算符.逻辑运算符.赋值运算符: 3.1 算数运算符 算术运算符包含了加减乘除,符 ...