`
obullxl
  • 浏览: 183229 次
  • 性别: 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

相关推荐

    maven常用命令以及以个测试项目

    **正文** Maven是Java开发中的一...通过熟练掌握Maven命令和配置,开发者可以高效地管理项目依赖,实现自动化构建,从而提高开发效率。而提供的测试项目则可以帮助我们更好地理解Maven如何与测试集成,确保代码质量。

    tomcat7-maven-plugin-2.2.jar

    在Java开发领域,Maven作为项目管理和构建工具,极大地简化了依赖管理和构建流程。而Tomcat,作为广泛使用的开源Servlet容器,是Java Web应用部署的首选平台。当我们谈论`tomcat7-maven-plugin-2.2.jar`时,这实际上...

    MAVEN安装包:apache-maven-3.0.5.zip

    3. **依赖管理**: Maven 自动管理项目依赖关系,避免了手动下载和配置库文件的麻烦。通过在 POM 文件中声明依赖,Maven 可以自动解决这些依赖并将其添加到构建路径中。 4. **生命周期**: Maven 具有预定义的构建...

    maven项目管理工具

    ** Maven项目管理工具详解 ** Maven是一款强大的Java项目管理工具,它可以帮助开发者构建、管理和部署Java项目。在Java开发领域,Maven以其规范化的项目构建过程和丰富的依赖管理功能而备受推崇。本篇将详细介绍...

    maven 项目管理

    Maven 是一个强大的项目管理和构建工具,它简化了Java应用程序的构建过程,通过统一的配置文件pom.xml管理项目的依赖关系、构建生命周期和插件。以下将详细介绍Maven在项目管理中的应用。 1. Maven基本原理: ...

    maven web项目 Demo

    9. **Maven的多模块项目**:对于大型项目,Maven支持多模块结构,一个父POM管理多个子模块,每个子模块有自己的`pom.xml`,这样可以更好地组织和管理代码。 10. **Spring Boot与Maven**:虽然`mavenDemo`没有明确...

    maven_archetype

    Maven Archetype 是 Apache Maven 项目管理工具中的一个重要概念,它主要用于创建项目的初始结构。Maven Archetype 并非一个简单的模板,而是一种可重复使用的构建模块,能够根据预定义的配置生成一个新的 Maven ...

    maven命令指南

    ### Maven命令指南:Windows系统下的应用与实践 Maven,作为Java项目管理和综合工具链的领导者,为开发者提供了从项目构建、依赖管理到文档生成等一系列的功能。本文将深入解析Maven在Windows系统下通过命令行运行...

    spring boot 项目 + maven本地仓库

    在Spring Boot项目中,Maven是常用的构建工具,它管理项目的依赖并帮助构建可执行的JAR或WAR文件。Maven本地仓库是Maven存储下载的依赖的地方,对于开发者来说,理解如何正确配置和利用Maven本地仓库是至关重要的。 ...

    安装 Maven

    Maven 的核心功能是管理项目构建、报告和文档,通过统一的构建过程简化项目的生命周期管理。Maven 的核心理念是"约定优于配置",这意味着它提供了一套标准的项目结构和默认构建生命周期,使得开发者可以快速地构建...

    maven项目开发的maven3.3.9使用包

    1. **性能提升**:相比于之前的版本,3.3.9在处理大量依赖和大型项目时有更快的响应速度。 2. **增强的本地库管理**:对本地仓库的索引进行了优化,提高了查找和管理本地依赖的速度。 3. **更智能的依赖解析**:...

    tomcat-maven-plugin:Apache Tomcat Maven插件的镜像

    Maven是Apache软件基金会开发的一款项目管理和综合工具,它通过使用一个项目对象模型(Project Object Model,POM)来管理项目的构建、报告和文档。Maven插件是Maven生态系统的核心部分,它们提供了特定的功能,如...

    maven打包部署

    3. **Maven版本**:目前Maven有多个版本,其中最新稳定版为Maven 3.x,提供了更好的性能和更丰富的功能。 4. **Maven基本原理**:Maven通过POM文件来管理项目,它有一个中央仓库,存储了大量的开源库,可以自动下载...

    apache-maven-3.9.2.zip配置好的阿里云仓库文件

    Maven使用项目对象模型(Project Object Model,POM)来描述项目,并自动管理项目的构建、报告和文档生成。 2. POM.xml:每个Maven项目都有一个POM.xml文件,这是项目的核心。它包含了项目的基本信息,如groupId、...

    maven 3.5.2 maven 3.5.2 maven 3.5.2

    3. **依赖管理**: Maven通过POM自动管理项目的依赖关系,可以避免jar地狱问题,减少手动配置。 4. **生命周期 (LifeCycle)**: Maven有三个主要的生命周期,分别是clean、default和site。default生命周期包含编译、...

    apache-maven的插件包:apache-maven-3.5.3-bin

    2. **依赖管理**:Maven 自动管理项目依赖,从远程或本地仓库下载所需的库,并解决依赖冲突。开发者只需在POM文件中声明项目所依赖的库,Maven会自动处理这些库的下载和路径设置。 3. **生命周期(Lifecycle)**:...

    掌握Java生态:Maven与Gradle的项目管理之道

    ### Java 生态中的 Maven 与 Gradle:项目管理之道 #### Java 语言概览 Java 作为一种被广泛采用的编程语言,在多个领域中都发挥着关键作用。它由 Sun Microsystems(现已被 Oracle 收购)在 1995 年首次推出。...

    非maven springboot项目

    在IT行业中,Spring Boot是一个非常流行的Java框架,用于简化Spring应用程序的开发过程。...然而,了解如何在没有这些工具的情况下操作,可以帮助我们更好地理解和掌握项目结构,以及依赖管理的原理。

    maven-3.6.0已配好国内镜像地址

    Maven是Java世界中的一款强大的项目管理和构建工具,它简化了项目的构建、依赖管理以及报告生成。Maven 3.6.0是该工具的一个稳定版本,具有多项改进和优化,旨在提升开发效率和稳定性。本资源提供的“maven-3.6.0”...

    maven构建的java项目demo

    Maven 使用约定优于配置的原则,提供了一套标准的项目结构,使得开发者可以更高效地管理项目。 2. Maven 构建流程 Maven 的构建流程主要分为三个阶段:编译(compile)、测试(test)和打包(package)。首先,`...

Global site tag (gtag.js) - Google Analytics