`
obullxl
  • 浏览: 182364 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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

阅读更多

最近学习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: 在集成或发布环境,将包发布到远程代码库

 

分享到:
评论
5 楼 nkadun 2010-08-21  
还是不习惯这种老外的思路。。。
4 楼 zhao1659 2010-08-20  
两个蜡笔小新 - -
3 楼 phpxiaoxin 2010-04-28  
抽象啥意思?晕了....
2 楼 obullxl 2010-04-21  
phpxiaoxin 写道
最近也学习使用了maven,也整想写一篇,
先顶你一个

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


看了你的文章,结合实际项目,不错哦,但是觉得太抽象了,无法复制啊。
1 楼 phpxiaoxin 2010-04-20  
最近也学习使用了maven,也整想写一篇,
先顶你一个

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

相关推荐

    Maven2 的新特性.7z

    1. 更快、更简单 比起 Maven1 那不急不慢的运行速度,Maven2在速度上有了质的飞跃,甚至与Ant相比也毫不逊色(当然,下载不算)。除此之外,"简化工作,使用业界公认的最佳实践"也是是 Maven2 的另一大主题,其他的...

    [maven] 常用插件解析.docx

    maven-archetype-plugin 能让用户生成项目骨架,Maven 初学者最开始执行的 Maven 命令可能就是 mvn archetype:generate,这实际上就是让 maven-archetype-plugin 生成一个很简单的项目骨架,帮助开发者快速上手。...

    SonarQube快速入门手册借鉴.pdf

    在安装好服务器和分析器后,需要创建配置文件sonar-project.properties,并置于所需分析项目的根目录下。然后,执行sonar-runner命令,以启动代码质量检测和分析。打开http://localhost:9000/即可见该项目的分析结果...

    PetMaster:Minecraft插件,用于管理宠物并通过全息图,操作栏或聊天消息显示有用的信息

    想要使宠物主人更好,更快,更强大吗? 欢迎捐款,打开请求请求并分享您的代码! 只需通过点击该页面右上角的图标叉库和参考让你的副本和运行,交互与插件。 :speech_balloon: 支持 想到一个好主意吗? 发现问题或...

    Redis云管理平台CacheCloud.zip

    五、CacheCloud在搜狐的规模每天100 亿次命令调用2T 的内存空间800 个Redis实例100 台机器六、CacheCloud环境需求Java 7Maven 3MySQLRedis 3七、CacheCloud快速开始1、初始化数据库 导入项目中cachecloud.sql初始化...

    联通SGIP协议开发包源码,实现对中国联通SGIP短信发送协议对接

    该联通SGIP协议开发包源码旨在提供对中国...此外,该开发包还提供了完整的文档和示例代码,以帮助您更好地理解其用法和实现。因此,您可以放心地使用这个开发包来提高您的短信发送效率,从而更好地满足您的业务需求。

    mRNA-Sequences-Processor:我从凯捷(Capgemini)的ADCenter网络为代码挑战1解决方案

    Gradle比Maven更快,在我看来,它提供了更好,更轻松的体验,这使其成为应对这一挑战的不错选择。 先决条件 您需要安装才能构建此项目。 用法 要编译和构建项目,请在根目录上运行以下命令: > gradle build 要...

    wildfly:Wildfly应用程序服务器

    如果您已经安装了Maven 3.2.5(或更高版本),则可以直接使用它 mvn安装 启动和停止WildFly 成功构建后,切换到bin目录 $ cd build / target / wildfly- [version] / bin 以域模式启动服务器 $ ./domain.sh 以...

    SpringBoot面试题 44道.pdf

    1. 容易上手,提升开发效率,为 Spring 开发提供一个更快、更简单的开发框架。 2. 开箱即用,远离繁琐的配置。 3. 提供了一系列大型项目通用的非业务性功能,例如:内嵌服务器、安全管理、运行数据监控、运行状况...

    gitlab+jenkins服务器搭建

    Jenkins 可以自动化构建、测试和部署软件,使开发者可以更好地控制和管理软件的生命周期。 GitLab 概述 GitLab 是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的 Git 项目仓库,可通过 Web 界面迚...

    20道顶尖的Spring Boot面试题!.pdf

    本文总结了 20 道顶尖的 Spring Boot 面试题,旨在帮助开发者更好地理解 Spring Boot。 1. 什么是 Spring Boot? Spring Boot 是 Spring 开源组织下的子项目,是 Spring 组件一站式解决方案,主要是简化了使用 ...

    闭合编译器:JavaScript检查器和优化器

    是使JavaScript下载和运行速度更快的工具。 这是一个真正JavaScript编译器。 它不是从源语言编译为机器代码,而是从JavaScript编译为更好JavaScript。 它解析您JavaScript,对其进行分析,删除无效代码,然后重写并...

    SourceTree.zip

    最好使用的git界面管理工具,可避免代码冲突和繁琐的命令,sourceTree 是我们的开发变得更快 最好使用的git界面管理工具,可避免代码冲突和繁琐的命令,sourceTree 是我们的开发变得更快

    大数据培训课程安排.pdf

    主要技术包括:⼤数据前篇(什么是⼤数据,应⽤场景,如何学习⼤数据库,虚拟机概念和安装等)、Linux常见命令(⽂件管理、系 统管理、磁盘管理)、Linux Shell编程(SHELL变量、循环控制、应⽤)、Hadoop⼊门...

    java抢红包源码-PHPWiki:PHP学习手册-ToBeTopPhper-PHP工程师成魔之路

    java抢红包源码 持续更新,觉得有帮助的欢迎star,希望补充内容的欢迎提issues ...Laravel性能更快, 单独说性能最好,还是鸟哥的Yaf 但是Yaf功能太过于简陋,很多组件需要自己写,易用性较差 综合而言,phalcon在

    appstore-be

    为了更好地帮助开发者理解和使用AppStore-be,我们提供了指导开发者如何在本地快速启动,运行AppStore项目。 编译建造 AppStore-be项目基于docker进行了容器化改造,在编译构建时共分为两步 编译 AppStore-be是基于...

    khs-report-writer:使用Java创建PDF换行报告

    如果您需要桌面发布的报告,则Jasper报告之类的方法会更好。 如果您需要创建具有分组,总计和小计的基于列的报告,那么此框架将为您提供帮助。 例子 Test文件夹具有几个JUNIT测试,可以运行这些测试以生成示例报告 ...

    word源码java-reverb:网络规模的开放信息提取

    例如,给定句子“香蕉是钾的极好来源”,混响将提取三元组(香蕉,是钾的来源)。 混响主页上提供了更多信息: 快速开始 如果您想在少量文本上运行混响而不修改其源代码,我们提供了一个可以从命令行运行的可执行 ...

Global site tag (gtag.js) - Google Analytics