最近学习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: 在集成或发布环境,将包发布到远程代码库
分享到:
相关推荐
**正文** Maven是Java开发中的一...通过熟练掌握Maven命令和配置,开发者可以高效地管理项目依赖,实现自动化构建,从而提高开发效率。而提供的测试项目则可以帮助我们更好地理解Maven如何与测试集成,确保代码质量。
在Java开发领域,Maven作为项目管理和构建工具,极大地简化了依赖管理和构建流程。而Tomcat,作为广泛使用的开源Servlet容器,是Java Web应用部署的首选平台。当我们谈论`tomcat7-maven-plugin-2.2.jar`时,这实际上...
3. **依赖管理**: Maven 自动管理项目依赖关系,避免了手动下载和配置库文件的麻烦。通过在 POM 文件中声明依赖,Maven 可以自动解决这些依赖并将其添加到构建路径中。 4. **生命周期**: Maven 具有预定义的构建...
** Maven项目管理工具详解 ** Maven是一款强大的Java项目管理工具,它可以帮助开发者构建、管理和部署Java项目。在Java开发领域,Maven以其规范化的项目构建过程和丰富的依赖管理功能而备受推崇。本篇将详细介绍...
Maven 是一个强大的项目管理和构建工具,它简化了Java应用程序的构建过程,通过统一的配置文件pom.xml管理项目的依赖关系、构建生命周期和插件。以下将详细介绍Maven在项目管理中的应用。 1. Maven基本原理: ...
9. **Maven的多模块项目**:对于大型项目,Maven支持多模块结构,一个父POM管理多个子模块,每个子模块有自己的`pom.xml`,这样可以更好地组织和管理代码。 10. **Spring Boot与Maven**:虽然`mavenDemo`没有明确...
Maven Archetype 是 Apache Maven 项目管理工具中的一个重要概念,它主要用于创建项目的初始结构。Maven Archetype 并非一个简单的模板,而是一种可重复使用的构建模块,能够根据预定义的配置生成一个新的 Maven ...
### Maven命令指南:Windows系统下的应用与实践 Maven,作为Java项目管理和综合工具链的领导者,为开发者提供了从项目构建、依赖管理到文档生成等一系列的功能。本文将深入解析Maven在Windows系统下通过命令行运行...
在Spring Boot项目中,Maven是常用的构建工具,它管理项目的依赖并帮助构建可执行的JAR或WAR文件。Maven本地仓库是Maven存储下载的依赖的地方,对于开发者来说,理解如何正确配置和利用Maven本地仓库是至关重要的。 ...
Maven 的核心功能是管理项目构建、报告和文档,通过统一的构建过程简化项目的生命周期管理。Maven 的核心理念是"约定优于配置",这意味着它提供了一套标准的项目结构和默认构建生命周期,使得开发者可以快速地构建...
1. **性能提升**:相比于之前的版本,3.3.9在处理大量依赖和大型项目时有更快的响应速度。 2. **增强的本地库管理**:对本地仓库的索引进行了优化,提高了查找和管理本地依赖的速度。 3. **更智能的依赖解析**:...
Maven是Apache软件基金会开发的一款项目管理和综合工具,它通过使用一个项目对象模型(Project Object Model,POM)来管理项目的构建、报告和文档。Maven插件是Maven生态系统的核心部分,它们提供了特定的功能,如...
3. **Maven版本**:目前Maven有多个版本,其中最新稳定版为Maven 3.x,提供了更好的性能和更丰富的功能。 4. **Maven基本原理**:Maven通过POM文件来管理项目,它有一个中央仓库,存储了大量的开源库,可以自动下载...
Maven使用项目对象模型(Project Object Model,POM)来描述项目,并自动管理项目的构建、报告和文档生成。 2. POM.xml:每个Maven项目都有一个POM.xml文件,这是项目的核心。它包含了项目的基本信息,如groupId、...
3. **依赖管理**: Maven通过POM自动管理项目的依赖关系,可以避免jar地狱问题,减少手动配置。 4. **生命周期 (LifeCycle)**: Maven有三个主要的生命周期,分别是clean、default和site。default生命周期包含编译、...
2. **依赖管理**:Maven 自动管理项目依赖,从远程或本地仓库下载所需的库,并解决依赖冲突。开发者只需在POM文件中声明项目所依赖的库,Maven会自动处理这些库的下载和路径设置。 3. **生命周期(Lifecycle)**:...
### Java 生态中的 Maven 与 Gradle:项目管理之道 #### Java 语言概览 Java 作为一种被广泛采用的编程语言,在多个领域中都发挥着关键作用。它由 Sun Microsystems(现已被 Oracle 收购)在 1995 年首次推出。...
在IT行业中,Spring Boot是一个非常流行的Java框架,用于简化Spring应用程序的开发过程。...然而,了解如何在没有这些工具的情况下操作,可以帮助我们更好地理解和掌握项目结构,以及依赖管理的原理。
Maven是Java世界中的一款强大的项目管理和构建工具,它简化了项目的构建、依赖管理以及报告生成。Maven 3.6.0是该工具的一个稳定版本,具有多项改进和优化,旨在提升开发效率和稳定性。本资源提供的“maven-3.6.0”...
Maven 使用约定优于配置的原则,提供了一套标准的项目结构,使得开发者可以更高效地管理项目。 2. Maven 构建流程 Maven 的构建流程主要分为三个阶段:编译(compile)、测试(test)和打包(package)。首先,`...