论坛首页 Java企业应用论坛

Maven命令简介:更好更快地管理项目

浏览 11248 次
精华帖 (1) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (1)
作者 正文
   发表时间:2010-04-20  

最近学习Maven,发现其真的很强大,所以学一点也记一点。
使用Maven的最大好处在于:生成工程骨架和管理JAR包依赖。

 

Maven自带了很多的工程骨架,想自定义骨架可以使用交互式命令:

mvn archetype:generate

 

我的是Maven 2.2.1版本,系统自带的骨架一共有41个:

1: internal -> appfuse-basic-jsf (AppFuse archetype for creating a web application with Hibernate, Spring and JSF)
2: internal -> appfuse-basic-spring (AppFuse archetype for creating a web application with Hibernate, Spring and Spring MVC)
3: internal -> appfuse-basic-struts (AppFuse archetype for creating a web application with Hibernate, Spring and Struts 2)
4: internal -> appfuse-basic-tapestry (AppFuse archetype for creating a web application with Hibernate, Spring and Tapestry 4)
5: internal -> appfuse-core (AppFuse archetype for creating a jar application with Hibernate and Spring and XFire)
6: internal -> appfuse-modular-jsf (AppFuse archetype for creating a modular application with Hibernate, Spring and JSF)
7: internal -> appfuse-modular-spring (AppFuse archetype for creating a modularapplication with Hibernate, Spring and Spring MVC)
8: internal -> appfuse-modular-struts (AppFuse archetype for creating a modularapplication with Hibernate, Spring and Struts 2)
9: internal -> appfuse-modular-tapestry (AppFuse archetype for creating a modular application with Hibernate, Spring and Tapestry 4)
10: internal -> maven-archetype-j2ee-simple (A simple J2EE Java application)
11: internal -> maven-archetype-marmalade-mojo (A Maven plugin development project using marmalade)
12: internal -> maven-archetype-mojo (A Maven Java plugin development project)
13: internal -> maven-archetype-portlet (A simple portlet application)
14: internal -> maven-archetype-profiles ()
15: internal -> maven-archetype-quickstart ()
16: internal -> maven-archetype-site-simple (A simple site generation project)
17: internal -> maven-archetype-site (A more complex site project)
18: internal -> maven-archetype-webapp (A simple Java web application)
19: internal -> jini-service-archetype (Archetype for Jini service project creation)
20: internal -> softeu-archetype-seam (JSF+Facelets+Seam Archetype)
21: internal -> softeu-archetype-seam-simple (JSF+Facelets+Seam (no persistence) Archetype)
22: internal -> softeu-archetype-jsf (JSF+Facelets Archetype)
23: internal -> jpa-maven-archetype (JPA application)
24: internal -> spring-osgi-bundle-archetype (Spring-OSGi archetype)
25: internal -> confluence-plugin-archetype (Atlassian Confluence plugin archetype)
26: internal -> jira-plugin-archetype (Atlassian JIRA plugin archetype)
27: internal -> maven-archetype-har (Hibernate Archive)
28: internal -> maven-archetype-sar (JBoss Service Archive)
29: internal -> wicket-archetype-quickstart (A simple Apache Wicket project)
30: internal -> scala-archetype-simple (A simple scala project)
31: internal -> lift-archetype-blank (A blank/empty liftweb project)
32: internal -> lift-archetype-basic (The basic (liftweb) project)
33: internal -> cocoon-22-archetype-block-plain ([http://cocoon.apache.org/2.2/maven-plugins/])
34: internal -> cocoon-22-archetype-block ([http://cocoon.apache.org/2.2/maven-plugins/])
35: internal -> cocoon-22-archetype-webapp ([http://cocoon.apache.org/2.2/maven-plugins/])
36: internal -> myfaces-archetype-helloworld (A simple archetype using MyFaces)
37: internal -> myfaces-archetype-helloworld-facelets (A simple archetype usingMyFaces and facelets)
38: internal -> myfaces-archetype-trinidad (A simple archetype using Myfaces and Trinidad)
39: internal -> myfaces-archetype-jsfcomponents (A simple archetype for create custom JSF components using MyFaces)
40: internal -> gmaven-archetype-basic (Groovy basic archetype)
41: internal -> gmaven-archetype-mojo (Groovy mojo archetype)

 

当然,我们完全可以通过命令指定骨架,下面列出几常用的用法:

 

创建普通Java项目:
mvn archetype:create -DgroupId=[your project's group id] -DartifactId=[your project's artifact id]

mvn archetype:create -DgroupId=com.aboy -DartifactId=webmap

 

创建WEB项目:
mvn archetype:create -DgroupId=[your project's group id] -DartifactId=[your project's artifact id] -DarchetypeArtifactId=maven-archetype-webapp

mvn archetype:create -DgroupId=com.aboy -DartifactId=webmap -DarchetypeArtifactId=maven-archetype-webapp

 

Maven其它命令简单说明:

1、archetype( 内建插件,他的create任务将建立项目骨架 ): archetype:create

 

2、groupId 项目的java包结构:com.aboy

 

3、artifactId 项目的名称:webmap

 

4、显示Maven默认设置  

mvn help:effective-pom

 

5、几个常用的archetypeArtifactId(项目骨架的类型):
* maven-archetype-archetype
* maven-archetype-j2ee-simple
* maven-archetype-mojo
* maven-archetype-portlet
* maven-archetype-profiles
* maven-archetype-quickstart
* maven-archetype-simple
* maven-archetype-site
* maven-archetype-site-simple
* maven-archetype-webapp

 

6、生成清除Eclipse项目结构: 

mvn eclipse:eclipse
mvn eclipse:clean

 

7、清理(删除target目录下编译内容)

mvn clean

 

8、仅打包Web页面文件

mvn war:exploded

 

9、Maven的主要生命周期:
validate: 验证项目是否正确以及相关信息是否可用
compile: 编译
test: 通过junit进行单元测试
package: 根据事先指定的格式(比如jar),进行打包
integration-test: 部署到运行环境中,准备进行集成测试
verify: 对包进行有效性性和质量检查
install: 安装到本地代码库
deploy: 在集成或发布环境,将包发布到远程代码库

 

   发表时间:2010-04-20   最后修改:2010-04-20
最近也学习使用了maven,也整想写一篇,
先顶你一个

ok搞定了:http://phpxiaoxin.iteye.com/blog/648404
0 请登录后投票
   发表时间:2010-04-21  
phpxiaoxin 写道
最近也学习使用了maven,也整想写一篇,
先顶你一个

ok搞定了:http://phpxiaoxin.iteye.com/blog/648404


看了你的文章,结合实际项目,不错哦,但是觉得太抽象了,无法复制啊。
0 请登录后投票
   发表时间:2010-04-28  
抽象啥意思?晕了....
0 请登录后投票
   发表时间:2010-08-20  
两个蜡笔小新 - -
0 请登录后投票
   发表时间:2010-08-21  
还是不习惯这种老外的思路。。。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics