用户工具

站点工具


分享:技术:maven:archetype的制作和使用

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
分享:技术:maven:archetype的制作和使用 [2015/07/07 13:12]
gxx
分享:技术:maven:archetype的制作和使用 [2017/05/30 08:53] (当前版本)
gxx
行 3: 行 3:
 每开始一个maven项目,必做的就是配置一堆的配置文件,和pom.xml里一堆的依赖插件版本号,写一堆的controller,serivce,dao,vo,mapper等重复性的动作。为了不重复做这些事情,所以考虑做一个[[分享:​技术:​示例项目:​springmvc_mybatis_spring_freemarker_maven|springmvc+mybatis+spring+freemarker+maven示例项目]],根据这个示例项目制作模板或者成为原型。在maven中我们使用archetype,意思解释为原型。 每开始一个maven项目,必做的就是配置一堆的配置文件,和pom.xml里一堆的依赖插件版本号,写一堆的controller,serivce,dao,vo,mapper等重复性的动作。为了不重复做这些事情,所以考虑做一个[[分享:​技术:​示例项目:​springmvc_mybatis_spring_freemarker_maven|springmvc+mybatis+spring+freemarker+maven示例项目]],根据这个示例项目制作模板或者成为原型。在maven中我们使用archetype,意思解释为原型。
 ===== archetype的制作 ===== ===== archetype的制作 =====
-在做完[[分享:​技术:​示例项目:​springmvc_mybatis_spring_freemarker_maven|springmvc+mybatis+spring+freemarker+maven示例项目]]后+这里注意一点,被制作archetype的maven项目pom.xml必须引入maven-archetype-plugin插件 
 +<code xml> 
 +<​plugins>​ 
 + <!-- 原型插件 --> 
 + <​plugin>​ 
 + <​groupId>​org.apache.maven.plugins</​groupId>​ 
 + <​artifactId>​maven-archetype-plugin</​artifactId>​ 
 + <​version>​2.2</​version>​ 
 + </​plugin>​ 
 +</​plugins>​ 
 +</​code>​ 
 +在做完[[分享:​技术:​示例项目:​springmvc_mybatis_spring_freemarker_maven|springmvc+mybatis+spring+freemarker+maven示例项目]]后,根究以下步骤来制作archetype
   cd D:​\05.HeadWorkspace\record\ #​进入项目目录,dir可以看到pom.xml   cd D:​\05.HeadWorkspace\record\ #​进入项目目录,dir可以看到pom.xml
   mvn archetype:​create-from-project #​执行脚本   mvn archetype:​create-from-project #​执行脚本
行 37: 行 48:
   </​distributionManagement>​   </​distributionManagement>​
   ##############################################​   ##############################################​
-  #​由于nexus发布需要校验用户名和密码,所以maven deploy要发布成功,必须在maven的目录中修改apache-maven-3.0/​conf/​settings.xml,注意server标签中的id与repository标签中的id要一致,用户名密码即nexus中用户名密码+  #​由于nexus发布需要校验用户名和密码,所以mvn deploy要发布成功,必须在maven的目录中修改apache-maven-3.0/​conf/​settings.xml,注意server标签中的id与repository标签中的id要一致,用户名密码即nexus中用户名密码
   ##############################################​   ##############################################​
   <​servers>​   <​servers>​
行 53: 行 64:
   ##############################################​   ##############################################​
   mvn deploy #​要生成archetype放到本地仓库.m2中同时发布到nexus私有仓库中供以后使用   mvn deploy #​要生成archetype放到本地仓库.m2中同时发布到nexus私有仓库中供以后使用
 +上nexus私有仓库查看刚生成的record-archetype 
 +{{ :​分享:​技术:​maven:​archetype截图1.png?​300 |}}
 ===== archetype的使用 ===== ===== archetype的使用 =====
 +archetype的使用指的是,根据制作好的archetype来生成项目,分两种情况:
 +  - 刚制作完archetype的机器环境中,.m2文件夹下会有一个archetype-catalog.xml文件,里面会有record-archetype,使用eclipse可以搜索到该原型,可以直接创建项目
 +  - 没有制作过archetype的机器环境中,.m2文件夹下没有archetype-catalog.xml文件,或者该文件中没有record-archetype,需要拷贝以下archetype-catalog.xml文件到.m2文件夹下或者把record-archetype的部分加到该文件中
 +<code xml archetype-catalog.xml>​
 +<?xml version="​1.0"​ encoding="​UTF-8"?>​
 +<​archetype-catalog xsi:​schemaLocation="​http://​maven.apache.org/​plugins/​maven-archetype-plugin/​archetype-catalog/​1.0.0 http://​maven.apache.org/​xsd/​archetype-catalog-1.0.0.xsd"​
 +    xmlns="​http://​maven.apache.org/​plugins/​maven-archetype-plugin/​archetype-catalog/​1.0.0"​
 +    xmlns:​xsi="​http://​www.w3.org/​2001/​XMLSchema-instance">​
 +  <​archetypes>​
 +    <​archetype>​
 +      <​groupId>​com.gxx</​groupId>​
 +      <​artifactId>​record-archetype</​artifactId>​
 +      <​version>​0.0.1</​version>​
 +      <​description>​record-archetype</​description>​
 +      <​repository>​http://​121.43.104.34:​8081/​nexus/​content/​repositories/​releases/</​repository>​
 +    </​archetype>​
 +  </​archetypes>​
 +</​archetype-catalog>​
 +</​code>​
 +接下来演示在eclipse中通过record-archetype创建项目
 +{{ :​分享:​技术:​maven:​archetype截图2.png?​300 |}}
 +{{ :​分享:​技术:​maven:​archetype截图3.png?​300 |}}
 +{{ :​分享:​技术:​maven:​archetype截图4.png?​300 |}}
 +{{ :​分享:​技术:​maven:​archetype截图5.png?​300 |}}
 +生成项目代码如下:
 +{{ :​分享:​技术:​maven:​archetype截图6.png?​300 |}}
 +全局搜索gxx修改成相应的域名,全局搜索record修改成相应的项目名,修改jdbc.properties数据库连接,根据以下脚本创建库表
 +<code sql database.sql>​
 +CREATE DATABASE mom;
 +USE mom;
 +CREATE TABLE `user` (
 +  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '​主键',​
 +  `name` VARCHAR(50) NOT NULL COMMENT '​姓名',​
 +  `password` VARCHAR(32) NOT NULL COMMENT '​密码',​
 +  `create_date` VARCHAR(8) NOT NULL COMMENT '​创建日期',​
 +  `create_time` VARCHAR(6) NOT NULL COMMENT '​创建时间',​
 +  PRIMARY KEY  (`id`)
 +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='​用户表'​
 +</​code>​
 +build项目,部署项目到tomcat,启动项目,按以下方法测试:
 +  - 访问http://​localhost/​mom/​输出Hello World!
 +  - 访问http://​localhost/​mom/​user/​preRegistFtl.htm输入姓名和密码,第一次查看库表创建记录成功页面提示成功,第二次提示该用户名已存在
 +  - 访问http://​localhost/​mom/​user/​preRegistJsp.htm输入姓名和密码,第一次查看库表创建记录成功页面提示成功,第二次提示该用户名已存在
分享/技术/maven/archetype的制作和使用.1436245936.txt.gz · 最后更改: 2015/07/07 13:12 由 gxx