??xml version="1.0" encoding="utf-8" standalone="yes"?>BlogJava-梦之旅http://www.ymeg.top/hwpok/DEBUG - 天道酬勤zh-cnSun, 18 Aug 2019 09:43:08 GMTSun, 18 Aug 2019 09:43:08 GMT60PP代码生成?? 使用解决Ҏ生成代码http://www.ymeg.top/hwpok/archive/2017/09/01/432793.htmlHUIKKHUIKKFri, 01 Sep 2017 12:20:00 GMThttp://www.ymeg.top/hwpok/archive/2017/09/01/432793.htmlhttp://www.ymeg.top/hwpok/comments/432793.htmlhttp://www.ymeg.top/hwpok/archive/2017/09/01/432793.html#Feedback0http://www.ymeg.top/hwpok/comments/commentRss/432793.htmlhttp://www.ymeg.top/hwpok/services/trackbacks/432793.htmlq一节我们探? 如何使用解决Ҏl合数据生成代码
点击”选择目标?#8221; 标签, 在数据源所在行点击d, d需要的数据? q步比较? d? 一定要点击一下测? 看是否能q接到数?

然后点击查找, ׃看到当前数据?/a>里的? 界面如下: 
q里写图片描q? title=
选中某一个表, 或几? 点击生成, 我们的需要的代码q成了. 
q时回到我们的eclipse的相应目录下, 按一下F5h, 我们所选的表的po文g已经生成?



HUIKK 2017-09-01 20:20 发表评论
]]>
PP代码生成?? 设计freemarker模板, 创徏解决Ҏhttp://www.ymeg.top/hwpok/archive/2017/09/01/432791.htmlHUIKKHUIKKFri, 01 Sep 2017 12:19:00 GMThttp://www.ymeg.top/hwpok/archive/2017/09/01/432791.htmlhttp://www.ymeg.top/hwpok/comments/432791.htmlhttp://www.ymeg.top/hwpok/archive/2017/09/01/432791.html#Feedback0http://www.ymeg.top/hwpok/comments/commentRss/432791.htmlhttp://www.ymeg.top/hwpok/services/trackbacks/432791.html
q一? 我们Ҏ数据库生成PO对象Z, 来探讨如何用PP制作freemarker模板, 创徏解决Ҏ. 工料:
  1. eclipse jee, 最好是安装freemarker插g, 可以高亮昄freemarker标签.
  2. 可用的数据库, 可以是mysql, oracle, db2, postgresql中的L一U? 如果没有数据? 使用pp_home中的sample/sample-mysql.xlsx也是可以?
* PP支持两种数据? 一U是数据? 另一U是excel文g数据? Z么支持excel? 是源于我曄在徏行工? 内部数据库权限管理极Z? 以至于PP需要查表字D信息的sql无权讉Koracle的user_tab_columns{表, q种情况? 可以把表信息录入到excel, l箋使用PP来生成代?
制作freemarker文g模板
再次提示, 点击PP?#8221;工具”->”辅助设计” 菜单可以打开”辅助设计面板”, 需要的变量都可以到里面复制, 然后_脓到freemarker?
以下是我在eclipse里写的freemarker文gpo.flt
 <#-- 生成package信息 --> <#if p.poPackageName??>package ${p.poPackageName};</#if> <#-- 生成import信息 --> <#list g.entityImportClassSet as clazz> import ${clazz}; </#list> /** *Description: ${g.tableComment}[${g.tableName}]理接口实现c?<br/> *Create info: ${c.author}, ${g.createTime?string("yyyy/MM/dd")} <br/> *Copyright (c) ${g.createTime?string("yyyy")}, ${c.contact} All Rights Reserved. <br/> * *@Version 1.0 */ public class ${g.entityCap}Po { <#-- 生成主键字段信息 --> <#list g.fieldLst as f> private ${f.javaTypeShort} ${f.property}; <#if f.columnComment??>// ${f.columnComment}<#if f.isPk>,主键</#if><#if !f.isNullAble>,不能为空</#if></#if> </#list> <#-- 生成不带参数的构造方?--> /** *不带参数的构造方?*/ public ${g.entityCap}Po(){} <#-- 生成以主键ؓ参数的构造方?--> /** *主键作ؓ参数的构造方?*@param ${g.pkField.property} <#if g.pkField.columnComment??>${g.pkField.columnComment}</#if> */ public ${g.entityCap}Po(${g.pkField.javaTypeShort} ${g.pkField.property}){ this.${g.pkField.property} = ${g.pkField.property}; } <#-- 生成主键set/getҎ --> <#list g.fieldLst as f> /** *Getter <#if f.columnComment??>${f.columnComment}</#if><#if f.isPk>,主键</#if><#if !f.isNullAble>,不能为空</#if> *@return */ public ${f.javaTypeShort} get${f.propertyCap}(){ return this.${f.property}; } /** *Setter <#if f.columnComment??>${f.columnComment}</#if><#if f.isPk>,主键</#if><#if !f.isNullAble>,不能为空</#if> *@param ${f.property} */ public void set${f.propertyCap}(${f.javaTypeShort} ${f.property}){ this.${f.property} = ${f.property}; } </#list> } 
在eclipse里编辑好q个文g? 在pp_home/config/templates里创建myscheme文g? 然后把po.flt复制到这个文件夹? 到这步ؓ? 我们模板制作完?
下面我们开始创x?/h5>

打开PP? h如下步骤操作,

  1. 点击”可写”按钮, 使这个标{N上的控g呈可~辑状?/li>
  2. ?#8221;解析Ҏ”可编辑下拉框中填?#8221;myscheme”
  3. ?#8221;域名”文g框里填入”com.hwp.pro”, q里是您的项目的包前~, 鼠标在上面停? 可以看到提示, 可以通过${domain}在freemarker中引用它的?
  4. ?#8221;模块”里输?#8221;pub”, 我们要生成文件的模块? 鼠标在上面停? 可以看到相应的提C?/li>
  5. “基本URL”不用填写, 生成controller, html时才可能会用?/li>
  6. ?#8221;基本路径”里输?#8221;/Uers/hui/Documents/myspace/workspaces1/workspacepp/generator-test/src/main” q是我们目文g的\? 最l生成文件的保存路径会和它有关系. 具体关系是生成的文g的最l保存\径是 “基本路径” + “包名”的\?
  7. 点击”d或修?#8221;, 此时, 解决Ҏ׃存好?
下面我们开始ؓ”解决Ҏ” d “生成d”, h如下步骤操作:

选中刚才的创建的解决Ҏ, 点击”d列表” 下面?“d”, 在弹出界面中输入如下信息q里写图片描q? title=
##### 在这个面板中作以下几点说? 
1. 模板路径${templatesPath}会被pp_home//comfig//templates替换. 
2. 存放路径最l的l果是前面的”基本路径” + “Java” +”包名(转化成\?” 
3. 包名后面的文本框的? 是包名的别名, 在freemarker文g中可以通过${p.poPackageName}d?/p>

q进下Q务列表里已经有了q个d, 如图: 
q里写图片描q? title=

上面的这些信? 会保存在PP的sqlite数据? 以备下次使用.
下面一博? 我们探讨, 如何用解x案来l合数据库表来生成文?/h5>




HUIKK 2017-09-01 20:19 发表评论
]]>
PP代码生成?? 解决Ҏ, 生成d, 辅助设计面板http://www.ymeg.top/hwpok/archive/2017/09/01/432790.htmlHUIKKHUIKKFri, 01 Sep 2017 12:17:00 GMThttp://www.ymeg.top/hwpok/archive/2017/09/01/432790.htmlhttp://www.ymeg.top/hwpok/comments/432790.htmlhttp://www.ymeg.top/hwpok/archive/2017/09/01/432790.html#Feedback0http://www.ymeg.top/hwpok/comments/commentRss/432790.htmlhttp://www.ymeg.top/hwpok/services/trackbacks/432790.html我们接着上一博客l讨论如何用PP生成代码.
首先, 我们介绍两个概念”解决Ҏ”?“生成d”.
  1. 解决Ҏ: 解决Ҏ是一pd生成d的集? 它包含若q个生成d.
  2. 生成d: 每个d会关联一个freemarker模板, 最l会使用q个模板来生成一个结果文?/li>
解决Ҏ和Q务的关系如下?

q里写图片描q? title=

在上一博客中, 我们知道了PP是基于freemarker模板? PP遵@着 “数据模型” + “模板” = “最l文?#8221; q种基本的规?
使用PP, “数据模型” 不需要我们关? PP已经为我们内|了. 通过菜单”工具”->”辅助设计” 可以LC用模板变量来制作我们的freemaker模板.
使用PP, “模板”是需要我们自己来~写制作. 可以打开辅助设计, 选中需要用的变量, _脓到freemarker模板?
下面我们着重介l一下辅助设计面? 先上?

q里写图片描q? title=

在这个面杉K, 变量?个分c?
  1. 全局: 是数据库相关? 表相关的信息, 通过${g.x}引用
  2. 领域: 是数据库表字D늛关的信息, 通过${f.x}引用
  3. 路径: 是创?#8221;生成d”时的路径引用, 通过${x}引用
  4. 自定? 是用戯定义的信? 如代码作? 公司, 联系方式{? 通过${c.x}引用
q些变量都有注释说明, 有几q程序经验的猿猿应该一看就能明?
一点小技? 要复制这些变? 只需要选中, 然后_脓到freemarker模板?/h5>

HUIKK 2017-09-01 20:17 发表评论
]]> PP代码生成?一) ? 下蝲, q行http://www.ymeg.top/hwpok/archive/2017/09/01/432789.htmlHUIKKHUIKKFri, 01 Sep 2017 12:16:00 GMThttp://www.ymeg.top/hwpok/archive/2017/09/01/432789.htmlhttp://www.ymeg.top/hwpok/comments/432789.htmlhttp://www.ymeg.top/hwpok/archive/2017/09/01/432789.html#Feedback0http://www.ymeg.top/hwpok/comments/commentRss/432789.htmlhttp://www.ymeg.top/hwpok/services/trackbacks/432789.html今天, 向大家推荐一ƾ代码生成利?#8212;-PP代码生成?后文UCؓPP, 注意? 是读朋朋, 不是皮皮?).

PP是基于freemarker模板, 在freemarker的世界里, 数据模型 + 模板文g = 生成l果. PP也遵循着q条基本原则, 其基本设计原理如下图.

q里写图片描q? title=

下蝲PP 下蝲地址1(点击可下? , 下蝲地址2(点击可下? , 然后解压到您喜欢的目? Z以后使用方便, 请作如下操作:

如果您是Windowspȝ, q工L目录, hpp-generator-0.0.5/bin/run-gui.bat发送到桌面,生成快捷方式, 以后要运行代码生成器, 双击卛_.

如果您是mac OS或Ubuntu OS, 先打开l端, 执行 chmod +x pp-generator-0.0.5/bin/run-gui.sh, 个sh文g增加可执行权? 然后在终l执? vi ~/.bash_profile, q在其中加入: alias ppstart=’/Users/hui/Documents/mystudio/software/pp-generator-0.0.5/bin/run-gui.sh’, 以后要运行代码生成器, 在终端里输入ppstart可以了.

本工兯行的前提条g是电脑已装JAVAq行? 下面是我q行PP后的截图:

q里写图片描q? title=

下一博客我们l介lPP的架构原理和如何使用PP生成代码.


HUIKK 2017-09-01 20:16 发表评论
]]>
PP持久层代码生成器http://www.ymeg.top/hwpok/archive/2016/10/11/431880.htmlHUIKKHUIKKTue, 11 Oct 2016 00:03:00 GMThttp://www.ymeg.top/hwpok/archive/2016/10/11/431880.htmlhttp://www.ymeg.top/hwpok/comments/431880.htmlhttp://www.ymeg.top/hwpok/archive/2016/10/11/431880.html#Feedback0http://www.ymeg.top/hwpok/comments/commentRss/431880.htmlhttp://www.ymeg.top/hwpok/services/trackbacks/431880.html本h开发的ZFreemarker引擎的持久层代码生成? 希望l大家的~码生活带来便利.
下蝲地址: http://download.csdn.net/detail/hwpok/9650218

HUIKK 2016-10-11 08:03 发表评论
]]>
比较好的博客http://www.ymeg.top/hwpok/archive/2015/06/06/425527.htmlHUIKKHUIKKSat, 06 Jun 2015 02:01:00 GMThttp://www.ymeg.top/hwpok/archive/2015/06/06/425527.htmlhttp://www.ymeg.top/hwpok/comments/425527.htmlhttp://www.ymeg.top/hwpok/archive/2015/06/06/425527.html#Feedback0http://www.ymeg.top/hwpok/comments/commentRss/425527.htmlhttp://www.ymeg.top/hwpok/services/trackbacks/425527.html

HUIKK 2015-06-06 10:01 发表评论
]]>
pȝ集成目理工程?/title><link>http://www.ymeg.top/hwpok/archive/2015/04/15/424455.html</link><dc:creator>HUIKK</dc:creator><author>HUIKK</author><pubDate>Wed, 15 Apr 2015 13:40:00 GMT</pubDate><guid>http://www.ymeg.top/hwpok/archive/2015/04/15/424455.html</guid><wfw:comment>http://www.ymeg.top/hwpok/comments/424455.html</wfw:comment><comments>http://www.ymeg.top/hwpok/archive/2015/04/15/424455.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.ymeg.top/hwpok/comments/commentRss/424455.html</wfw:commentRss><trackback:ping>http://www.ymeg.top/hwpok/services/trackbacks/424455.html</trackback:ping><description><![CDATA[<p style="margin-top: 10px; margin-bottom: 10px; padding: 0px; line-height: 19.5px; font-size: 13px; font-family: Verdana, Arial, Helvetica, sans-serif; background-color: #fefef2;">pȝ集成目理工程师(目l理Q考试是由国家人力资源和社会保障部、工业和信息化部共同l织的国家考试。考试合格者将颁发׃华h民共和国人力资源和社会保障部、工业和信息化部用印的计机技术与软g专业技术资|水^Q证书。工业和信息化部Zq一步规范管理系l集成企业和目l理人员Q把通过pȝ集成目理工程师考试Q作为申报系l集成项目经理资质的前提条g?/p><p style="margin-top: 10px; margin-bottom: 10px; padding: 0px; line-height: 19.5px; font-size: 13px; font-family: Verdana, Arial, Helvetica, sans-serif; background-color: #fefef2;">■  评对象<br style="margin: 0px; padding: 0px;" />    参加全国软考h员以及想了解目理知识的信息系l集成专业h员?/p><p style="margin-top: 10px; margin-bottom: 10px; padding: 0px; line-height: 19.5px; font-size: 13px; font-family: Verdana, Arial, Helvetica, sans-serif; background-color: #fefef2;">■ 评目标<br style="margin: 0px; padding: 0px;" />   通过学习Q学员可以学习到Q?nbsp;<br style="margin: 0px; padding: 0px;" />   理解目各阶D划分及其特点;<br style="margin: 0px; padding: 0px;" />?nbsp;理解需求管理;<br style="margin: 0px; padding: 0px;" />?nbsp;掌握目整体理的主要过E;<br style="margin: 0px; padding: 0px;" />?nbsp;制定工作分解l构和范围控Ӟ<br style="margin: 0px; padding: 0px;" />?nbsp;掌握目理|络计划技术、制定进度计划与q度控制Q?br style="margin: 0px; padding: 0px;" />?nbsp;掌握成本估算工具与方法;<br style="margin: 0px; padding: 0px;" />?nbsp;掌握质量理q程及其工具、技术;<br style="margin: 0px; padding: 0px;" />?nbsp;掌握人力资源理各过E内容;<br style="margin: 0px; padding: 0px;" />?nbsp;理解风险理Q制定减风险策略;<br style="margin: 0px; padding: 0px;" />?nbsp;理解沟通管理的重要性;<br style="margin: 0px; padding: 0px;" />?nbsp;掌握采购理的招投标具体知识Q?br style="margin: 0px; padding: 0px;" />?nbsp;描述有效目收尾E序Q?br style="margin: 0px; padding: 0px;" />?nbsp;理解配置理概念及相xE;<br style="margin: 0px; padding: 0px;" />?nbsp;掌握案例分析{题ҎQ?nbsp;<br style="margin: 0px; padding: 0px;" />?nbsp;掌握考试大纲规定的信息系l徏设、信息化、标准化、信息安全、信息系l集成专业技术知识及相关法律法规{知识;</p><img src ="http://www.ymeg.top/hwpok/aggbug/424455.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.ymeg.top/hwpok/" target="_blank">HUIKK</a> 2015-04-15 21:40 <a href="http://www.ymeg.top/hwpok/archive/2015/04/15/424455.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>软g公司目l理岗位职责 http://www.ymeg.top/hwpok/archive/2015/04/15/424454.htmlHUIKKHUIKKWed, 15 Apr 2015 13:39:00 GMThttp://www.ymeg.top/hwpok/archive/2015/04/15/424454.htmlhttp://www.ymeg.top/hwpok/comments/424454.htmlhttp://www.ymeg.top/hwpok/archive/2015/04/15/424454.html#Feedback0http://www.ymeg.top/hwpok/comments/commentRss/424454.htmlhttp://www.ymeg.top/hwpok/services/trackbacks/424454.html一、Y件公叔R目经理岗位职?nbsp;

主要职责Q?nbsp;

1?计划Q?nbsp;
a)目范围、项目质量、项目时间、项目成本的认?nbsp;
b)目q程/zd的标准化、规范化?nbsp;
c)Ҏ目范围、质量、时间与成本的综合因素的考虑Q进行项目的M规划与阶D计划?nbsp;
d)各项计划得到上领导、客h及项目组成员认可?nbsp;

2?l织Q?nbsp;
a)l织目所需的各资源?nbsp;
b)讄目l中的各U角Ԍq分配好各角色的责Q与权限?nbsp;
c)定制目l内外的沟通计划。(必要时可按配|管理要求写目{划目录中的《项目沟通计划》) 
d)安排l内需求分析师、客戯pMh{角色与客户的沟通与交流?nbsp;
e)处理目l与其它目q系Z间的关系?nbsp;
f)处理目l内各角色之间的关系、处理项目组内各成员之间的关pR?nbsp;
g)安排客户培训工作?nbsp;

3?领导Q?nbsp;
a)保证目l目标明且理解一致?nbsp;
b)创徏目l的开发环境及氛围Q在目范围内保证项目组成员不受目其它斚w的媄响?nbsp;
c)提升目l士气,加强目l凝聚力?nbsp;
d)合理安排目l各成员的工作,使各成员工作都能辑ֈ一定的饱满度?nbsp;
e)制定目l需要的招聘或培训h员的计划?nbsp;
f)定期l织目l成员进行相x术培训以及与目相关的行业培训等?nbsp;
g)及时发现目l中出现的问题?nbsp;
h)及时处理目l中出现的问题?nbsp;

4?控制 
a)保证目在预成本范围内按规定的质量和进度达到项目目标?nbsp;
b)在项目生命周期的各个阶段Q跟t、检查项目组成员的工作质量; 
c)定期向领导汇报项目工作进度以及项目开发过E中的难题?nbsp;
d)寚w目进行配|管理与规划?nbsp;
e)控制目l各成员的工作进度,x了解目l成员的工作情况Qƈ能快速的解决目l成员所到的难题?nbsp;
f)不定期组l项目组成员q行目以外的短期活动,以培d队精?nbsp;
目l理是在整个目开发过E中目l内Ҏ有非技术性重要事情做出最l决定的人?nbsp;


二、项目经理岗?nbsp;

一 目l理的职?nbsp;

1?Ҏ个项目负完全责Q?nbsp;
2?保全部工作在预范围内按时优质地完成,使客h意?nbsp;
3?领导目的计划、组l和控制工作Q以实现目目标?nbsp;
4?严格执行公司寚w目管理的规范、对于Y件开发项目执行公司制定的l一的Y件开发规范?nbsp;
5?负责整个目q系人(客户、上U领对{团队成员等Q之间关pȝ协调?nbsp;
6?制定工作计划、项目执行计划、h员配|计划、工作分解结构、成本计划等Q同时报上l长Qƈ报公司审扏V?nbsp;
7?定期向公司组长报告项目进度,一般ؓ一周一ơ?nbsp;
8?对团队成员进行工作安排、督查?nbsp;
9?定期召开团队成员会议Q在可能的情况下邀请客戗上U组长参加?nbsp;
10?目l束Ӟq行l项工作Q整理各U相x件?nbsp;

二 目l理的权?nbsp;
目l理的权力可变范围很大,臛_应该包括Q胦务控制权Q资源协调权利;对责ȝ描述能够被理解和认同?nbsp;

三 目l理的基本要?nbsp;
良好的职业道P知识和经验;l合的管理和决策能力Q系l的思维能力Q创新能力;w体健康Q项目经理的基本素质Q较强的技术背? 

另外q包?成熟的h|讲求实际Q和高层ȝ有良好的关系Q在几个不同的部门工作过Q把完成d攑֜W一位?nbsp;

四 目l理应具备的能力 
领导能力和组建团队的能力Q创业家和商业h的敏锐;技术水q_商务水^兼顾Q多面手Q;计划能力、组l能力和理能力

HUIKK 2015-04-15 21:39 发表评论
]]>
联想W记?昄?键盘q 释放静电http://www.ymeg.top/hwpok/archive/2015/01/14/422227.htmlHUIKKHUIKKWed, 14 Jan 2015 07:21:00 GMThttp://www.ymeg.top/hwpok/archive/2015/01/14/422227.htmlhttp://www.ymeg.top/hwpok/comments/422227.htmlhttp://www.ymeg.top/hwpok/archive/2015/01/14/422227.html#Feedback0http://www.ymeg.top/hwpok/comments/commentRss/422227.htmlhttp://www.ymeg.top/hwpok/services/trackbacks/422227.html昨天, W记本正常关,今天早上开机后, 键盘q, 按Q何键都不起作?

找联惛_E师, 让我释放静电, Ҏ? 拨掉本本上的所有线~?甉|U?|线,USB接口上的U?,q且把电池扣下来. 按住开机按?U? 重复5?
然后开? 键盘p正常使用?

用同LҎq能解决, 昄屏开机后无文字显C? 先放电后, 再看是不是排U的问题.


HUIKK 2015-01-14 15:21 发表评论
]]>
eclipse mavenhttp://www.ymeg.top/hwpok/archive/2014/08/19/417120.htmlHUIKKHUIKKTue, 19 Aug 2014 11:33:00 GMThttp://www.ymeg.top/hwpok/archive/2014/08/19/417120.htmlhttp://www.ymeg.top/hwpok/comments/417120.htmlhttp://www.ymeg.top/hwpok/archive/2014/08/19/417120.html#Feedback0http://www.ymeg.top/hwpok/comments/commentRss/417120.htmlhttp://www.ymeg.top/hwpok/services/trackbacks/417120.html转自:http://blog.csdn.net/lovingprince/article/details/4973247

maven 让您的构Z是一般的爽,下面q看怎么栯maven工作h?/span>

 

W一?/span>,做好安装maven前的准备工作Q首先安?/span>JDK5或?/span>jdk6.q一步比较简单,?/span>java的同学应该都会,不罗嗦了Q检?/span>JDK是否安装好,可以输入如下命o后回?/span>(windows)

 

 

W二步,下蝲mavenq进行安装,maven下蝲地址http://maven.apache.org/download.html Q本文下载的?/span>apache-maven-2.2.0-bin.zip 。下载后解压臛_前目录,我的解压地址D:/apache-maven-2.2.0-bin?/span>

讄两个比较重要的环境变量?/span>

 

  1. M2_HOME= D:/apache-maven-2.2.0-bin/apache-maven-2.2.0  
  2.   
  3. PATH=%PATH%;%M2_HOME%/bin  
  

 

 

验证你的安装是否正确Q则?/span>cmd 下输?/span> mvn –v .如果出现Maven的版本信息,则表C安装成功,否则Q仔l检查你的环境变量设|是否正?/span>

 

安装?/span>maven的目录结构如下:

 

bin目录包含了运行Maven的mvn脚本?boot目录包含了一个负责创建Mavenq行所需要的c装载器的JAR文g?conf目录包含了一个全局?/span>settings.xml文gQ该文g用来自定义你机器上Maven的一些行为。如果需要自定义MavenQ更通常的做法是覆写 %home%/.m2目录下的settings.xml文gQ每个用户都有对应的q个目录?/span>lib目录有了一个包含Maven核心的JAR文g?另外Q默认情况下Qmaven会将本地仓库存贮?/span>%home%/.m2/repository/下,当你从远EMaven仓库下蝲依赖的时候,Maven在你本地仓库存储了这个依赖的一个副本,如果你要改变q个位置Q那么你得修?/span>settings.xml文g。例如将路径修改到D?,则修改节?<localRepository>d:/repository</localRepository>Q设|后别忘了设|环境变?M2_REPO= d:/repository .

W三步、创Z个简?/span>web 目玩玩?/span>

     Cmd 下,键入命o

 

  1. mvn archetype:create -DgroupId=com.taobao.maven -DartifactId=maven-webapp -DpackageName=com.taobao.maven.web -DarchetypeArtifactId=maven-archetype-webapp  

 

 

执行命o后显CZ息如下:

 

  1. [INFO] Scanning for projects...  
  2.   
  3. [INFO] Searching repository for plugin with prefix: 'archetype'.  
  4.   
  5. [INFO] artifact org.apache.maven.plugins:maven-archetype-plugin: checking for updates from central  
  6.   
  7. Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-archetype-plugin/2.0-alpha-4/maven-archetype-plugin-2.0-alpha-4.po   
  8.   
  9.    
  10.   
  11. Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetype/maven-archetype/2.0-alpha-4/maven-archetype-2.0-alpha-4.pom   
  12.   
  13.    
  14.   
  15. Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-archetype-plugin/2.0-alpha-4/maven-archetype-plugin-2.0-alpha-4.ja   
  16.   
  17.    
  18.   
  19. [INFO] ------------------------------------------------------------------------  
  20.   
  21. [INFO] Building Maven Default Project  
  22.   
  23. [INFO]    task-segment: [archetype:create] (aggregator-style)  
  24.   
  25. [INFO] ------------------------------------------------------------------------  
  26.   
  27. Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetype/archetype-common/2.0-alpha-4/archetype-common-2.0-alpha-4.pom   
  28.   
  29.    
  30.   
  31. Downloading: http://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-file/1.0-alpha-6/wagon-file-1.0-alpha-6.pom   
  32.   
  33.    
  34.   
  35. Downloading: http://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-providers/1.0-alpha-6/wagon-providers-1.0-alpha-6.pom   
  36.   
  37.    
  38.   
  39. Downloading: http://repo1.maven.org/maven2/net/sourceforge/jchardet/jchardet/1.0/jchardet-1.0.pom   
  40.   
  41.    
  42.   
  43. Downloading: http://repo1.maven.org/maven2/dom4j/dom4j/1.6.1/dom4j-1.6.1.pom   
  44.   
  45.    
  46.   
  47. Downloading: http://repo1.maven.org/maven2/commons-io/commons-io/1.3.1/commons-io-1.3.1.pom   
  48.   
  49.    
  50.   
  51. Downloading: http://repo1.maven.org/maven2/org/apache/maven/shared/maven-invoker/2.0.6/maven-invoker-2.0.6.pom   
  52.   
  53.    
  54.   
  55. Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetype/archetype-common/2.0-alpha-4/archetype-common-2.0-alpha-4.jar   
  56.   
  57. Downloading: http://repo1.maven.org/maven2/commons-io/commons-io/1.3.1/commons-io-1.3.1.jar   
  58.   
  59. Downloading: http://repo1.maven.org/maven2/net/sourceforge/jchardet/jchardet/1.0/jchardet-1.0.jar   
  60.   
  61. Downloading: http://repo1.maven.org/maven2/org/apache/maven/shared/maven-invoker/2.0.6/maven-invoker-2.0.6.jar   
  62.   
  63. Downloading: http://repo1.maven.org/maven2/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar   
  64.   
  65. [INFO] Setting property: classpath.resource.loader.class => 'org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader'.  
  66.   
  67. [INFO] Setting property: velocimacro.messages.on => 'false'.  
  68.   
  69. [INFO] Setting property: resource.loader => 'classpath'.  
  70.   
  71. [INFO] Setting property: resource.manager.logwhenfound => 'false'.  
  72.   
  73. [INFO] [archetype:create {execution: default-cli}]  
  74.   
  75. [WARNING] This goal is deprecated. Please use mvn archetype:generate instead  
  76.   
  77. [INFO] artifact org.apache.maven.archetypes:maven-archetype-webapp: checking for updates from central  
  78.   
  79. Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetypes/maven-archetype-webapp/1.0/maven-archetype-webapp-1.0.jar   
  80.   
  81.    
  82.   
  83. [INFO] ----------------------------------------------------------------------------  
  84.   
  85. [INFO] Using following parameters for creating OldArchetype: maven-archetype-webapp:RELEASE  
  86.   
  87. [INFO] ----------------------------------------------------------------------------  
  88.   
  89. [INFO] Parameter: groupId, Value: com.taobao.maven  
  90.   
  91. [INFO] Parameter: packageName, Value: com.taobao.maven.web  
  92.   
  93. [INFO] Parameter: basedir, Value: D:/workspace/branch  
  94.   
  95. [INFO] Parameter: package, Value: com.taobao.maven.web  
  96.   
  97. [INFO] Parameter: version, Value: 1.0-SNAPSHOT  
  98.   
  99. [INFO] Parameter: artifactId, Value: maven-webapp  
  100.   
  101. [INFO] ********************* End of debug info from resources from generated POM ***********************  
  102.   
  103. [INFO] OldArchetype created in dir: D:/workspace/branch/maven-webapp  
  104.   
  105. [INFO] ------------------------------------------------------------------------  
  106.   
  107. [INFO] BUILD SUCCESSFUL  
  108.   
  109. [INFO] ------------------------------------------------------------------------  
  110.   
  111. [INFO] Total time: 26 seconds  
  112.   
  113. [INFO] Finished at: Wed Dec 09 16:47:11 CST 2009  
  114.   
  115. [INFO] Final Memory: 8M/15M  
  116.   
  117. [INFO] ------------------------------------------------------------------------  

 

 

此时已经创徏了一?/span>web目Q你可以切换?/span>maven-webapp目录看到目录l构?/span>

 

 

 

可以看一下这?/span>pom.xml的内宏V?/span>

 

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  2.   
  3.   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  
  4.   
  5.   <modelVersion>4.0.0</modelVersion>  
  6.   
  7.   <groupId>com.taobao.maven</groupId>  
  8.   
  9.   <artifactId>maven-webapp</artifactId>  
  10.   
  11.   <packaging>war</packaging>  
  12.   
  13.   <version>1.0-SNAPSHOT</version>  
  14.   
  15.   <name>maven-webapp Maven Webapp</name>  
  16.   
  17.   <url>http://maven.apache.org</url>  
  18.   
  19.   <dependencies>  
  20.   
  21.     <dependency>  
  22.   
  23.       <groupId>junit</groupId>  
  24.   
  25.       <artifactId>junit</artifactId>  
  26.   
  27.       <version>3.8.1</version>  
  28.   
  29.       <scope>test</scope>  
  30.   
  31.     </dependency>  
  32.   
  33.   </dependencies>  
  34.   
  35.   <build>  
  36.   
  37.     <finalName>maven-webapp</finalName>  
  38.   
  39.   </build>  
  40.   
  41. </project>  
  42.   
  43.    

 

 

packaging: q里gؓwar,表示希望该目?/span>war包Ş式打包,打包后将会在 target目录创徏一?/span> WAR 文gQƈ?/span>finalName为文件名创徏名ؓmaven-wepapp.war的包?/span>

 

DependencyQ表C里依赖了一?/span>junit?/span>jar文gQ只在测试阶D|才用到。打包时q不会打?/span>war包中厅R?/span>

 

W四步、这个简单的web包中已经有了一?/span>helloworld ?/span>index.jsp文gQ我们要做的是这个项目打包成warQ然后放?/span>web容器中去可以看到效果了?/span>

 

打包命o mvn install, 如下Q?/span>

 

 

Target目录下已l存在了maven-webapp.war包,部v?/span>Tomcat{容器下后?/span>

讉KQ?/span>

Http://localhost:8080/maven-webapp/index.jsp

卛_出现hello world 字样?/span>

 

另外Q?/span>maven提供了一?/span>jetty?/span>web容器插gQ让我们可以不用自己M?/span>tomcat{容器,

但是需要在pom.xml配置jetty插g?/span>

  
 
  1. <build>  
  2.     <finalName>maven-webapp</finalName>  
  3.     <plugins>  
  4.       <plugin>  
  5.         <groupId>org.mortbay.jetty</groupId>  
  6.         <artifactId>maven-jetty-plugin</artifactId>  
  7.       </plugin>  
  8.     </plugins>  
  9.   </build>  
配置好后Q可以启动jetty服务器?/span>
mvn jetty:run
 
最后出?/span>
  1. 2009-12-09 17:35:37.065:INFO::jetty-6.1.22  
  2. 2009-12-09 17:35:37.487:INFO::No Transaction manager found - if your webapp requires one, please configure one.  
  3. 2009-12-09 17:35:40.049:INFO::Started SelectChannelConnector@0.0.0.0:8080  
  4. [INFO] Started Jetty Server  
表示启动成功Q访问url卛_?/span>
 
如果jetty无法启动Q在settings.xml中,配置一?/span>

  1. <pluginGroups>  
  2.     <!-- pluginGroup  
  3.      | Specifies a further group identifier to use for plugin lookup.  
  4.     <pluginGroup>com.your.plugins</pluginGroup>  
  5.     -->  
  6.     <pluginGroup>org.mortbay.jetty</pluginGroup>  
  7.   </pluginGroups>  
 
卛_解决问题?/span>
 
 
提C:
 
如果惛_eclipse中用工E,则在命o行中q行
 Mvn eclipse:eclipse  卛_生成eclipse工程所需?project{文件?/span>
 Mvn eclipse:clean 则是eclipse配置信息清除
 
 
如果要在eclipse中查看外部引入包的源代码{,则在命o行中键入
mvn dependency:sources 卛_下蝲源代码,如果没有下蝲Q请先执行命?mvn clean Q后再下?/span>

http://www.cnblogs.com/sunxucool/archive/2013/03/05/2944011.html


HUIKK 2014-08-19 19:33 发表评论
]]>
׼ƽФ
    <nobr id="rub96"><optgroup id="rub96"></optgroup></nobr>

    <bdo id="rub96"></bdo>

      1. <track id="rub96"><div id="rub96"></div></track>
        <nobr id="rub96"><optgroup id="rub96"></optgroup></nobr>

            <nobr id="rub96"><address id="rub96"><big id="rub96"></big></address></nobr>
          1. <menuitem id="rub96"><strong id="rub96"><menu id="rub96"></menu></strong></menuitem>
            <dl id="rub96"><source id="rub96"><tr id="rub96"></tr></source></dl>
            1. <tbody id="rub96"><div id="rub96"></div></tbody>
              1. <bdo id="rub96"><optgroup id="rub96"></optgroup></bdo>
              2. <bdo id="rub96"><dfn id="rub96"><dd id="rub96"></dd></dfn></bdo>
                1. <option id="rub96"><source id="rub96"></source></option>
                2. <bdo id="rub96"></bdo>

                    <p id="rub96"><tr id="rub96"></tr></p>
                  1. <tbody id="rub96"></tbody>

                    <bdo id="rub96"></bdo>

                  2. <option id="rub96"><source id="rub96"></source></option>

                    <bdo id="rub96"><optgroup id="rub96"><dd id="rub96"></dd></optgroup></bdo>
                      <track id="rub96"></track>

                        <bdo id="rub96"></bdo>
                      1. <option id="rub96"><p id="rub96"><tr id="rub96"></tr></p></option>

                          <bdo id="rub96"></bdo>
                          1. <track id="rub96"></track>
                            1. <track id="rub96"></track>
                                  <bdo id="rub96"></bdo>
                                  <option id="rub96"></option>

                                      1. <track id="rub96"><span id="rub96"></span></track>

                                          <option id="rub96"></option>

                                          1. 
                                            
                                              <option id="rub96"><span id="rub96"></span></option>
                                              <bdo id="rub96"><address id="rub96"></address></bdo>
                                              <option id="rub96"><source id="rub96"></source></option>
                                                <nobr id="rub96"><address id="rub96"></address></nobr>
                                              1. <nobr id="rub96"><optgroup id="rub96"><big id="rub96"></big></optgroup></nobr>
                                                <track id="rub96"></track>

                                                <nobr id="rub96"><optgroup id="rub96"></optgroup></nobr>
                                                  <nobr id="rub96"><optgroup id="rub96"></optgroup></nobr>

                                                  <bdo id="rub96"></bdo>

                                                    1. <track id="rub96"><div id="rub96"></div></track>
                                                      <nobr id="rub96"><optgroup id="rub96"></optgroup></nobr>

                                                          <nobr id="rub96"><address id="rub96"><big id="rub96"></big></address></nobr>
                                                        1. <menuitem id="rub96"><strong id="rub96"><menu id="rub96"></menu></strong></menuitem>
                                                          <dl id="rub96"><source id="rub96"><tr id="rub96"></tr></source></dl>
                                                          1. <tbody id="rub96"><div id="rub96"></div></tbody>
                                                            1. <bdo id="rub96"><optgroup id="rub96"></optgroup></bdo>
                                                            2. <bdo id="rub96"><dfn id="rub96"><dd id="rub96"></dd></dfn></bdo>
                                                              1. <option id="rub96"><source id="rub96"></source></option>
                                                              2. <bdo id="rub96"></bdo>

                                                                  <p id="rub96"><tr id="rub96"></tr></p>
                                                                1. <tbody id="rub96"></tbody>

                                                                  <bdo id="rub96"></bdo>

                                                                2. <option id="rub96"><source id="rub96"></source></option>

                                                                  <bdo id="rub96"><optgroup id="rub96"><dd id="rub96"></dd></optgroup></bdo>
                                                                    <track id="rub96"></track>

                                                                      <bdo id="rub96"></bdo>
                                                                    1. <option id="rub96"><p id="rub96"><tr id="rub96"></tr></p></option>

                                                                        <bdo id="rub96"></bdo>
                                                                        1. <track id="rub96"></track>
                                                                          1. <track id="rub96"></track>
                                                                                <bdo id="rub96"></bdo>
                                                                                <option id="rub96"></option>

                                                                                    1. <track id="rub96"><span id="rub96"></span></track>

                                                                                        <option id="rub96"></option>

                                                                                        1. 
                                                                                          
                                                                                            <option id="rub96"><span id="rub96"></span></option>
                                                                                            <bdo id="rub96"><address id="rub96"></address></bdo>
                                                                                            <option id="rub96"><source id="rub96"></source></option>
                                                                                              <nobr id="rub96"><address id="rub96"></address></nobr>
                                                                                            1. <nobr id="rub96"><optgroup id="rub96"><big id="rub96"></big></optgroup></nobr>
                                                                                              <track id="rub96"></track>

                                                                                              <nobr id="rub96"><optgroup id="rub96"></optgroup></nobr>
                                                                                              1. pkȫ쾫׼2ڼƻ ƻ pk6淨 pk10 ʱʱ¼ ֲ̻ С˫ עǮ ˫ɫɱ׼ר ʱʱ ˿3С˫Ͷע ʱʱɲʹٷ ½ʱʱ-ƻȺ pk10ͼô ۷ƽ̨ ʱʱ