mvn archetype:create -DgroupId=* -DartifactId=* -DpackageName=*
可以使用archetype插件来构建一个非常简单的java项目.
create是archetype插件的目标.
插件和目标
mvn help:effective-pom
可以查看最顶层的pom文件, pom (project object model)
maven依靠的是它自带的或者可自动下载的一系列插件, 编译源码的时候有compile插件, 打包的时候有jar插件, 测试的时候有Surefile插件.
当执行mvn package的时候, 并没有执行插件目标, 这里执行的是maven生命周期的一个阶段.
maven生命周期的每个阶段都绑定了0个或多个插件目标, 当执行mvn package的时候, 它首先会有序执行前面的所有阶段, 然后执行每个阶段绑定的插件目标:
resources阶段
resources:resources
compile阶段
compile:compile
test-resources阶段
resources:testResources
test-compile阶段
compile:testCompile
test阶段
surefire:test
package阶段
jar:jar
被绑定的插件目标随着它们的阶段运行而运行
maven项目都一个用一个唯一的坐标来标示, groupId:artifactId:packaging:version, 其中packaging是可以省略的.
去http://search.maven.org/去查看maven中央仓库中拥有的构件吧!
maven的依赖管理, 传递性依赖, pom文件中定义的依赖默认是不会捆绑到生成的构建但中的, 而是在编译的时候加入到classpath中.
定制一个Maven项目:
1 使用插件目标生成一个项目, archetype:create
2 定制项目信息, 在pom文件中<name/>, <url/>, <licenses/>, <organization />, <developers />等元素
3 添加依赖, <dependencies />
4 由于archetype:create插件目标没有生成资源文件夹,我们需要自己动手在src/main下创建资源文件夹resources, 可以放log4j.properties等资源文件.
5 编写测试用户, 添加测试资源文件. 执行测试等等
6 在执行maven生命周期阶段的时候, 可以跳过单元测试, 要在pom文件中手动去配置surefire插件.
<project> [...]
<build> <plugins>
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration>
<skip>true</skip> </configuration>
</plugin> </plugins>
</build>
[...] </project>
多模块的企业级应用
parent项目:
<groupId>org.sonatype.mavenbook.ch07</groupId>
<artifactId>simple-parent</artifactId>
<packaging>pom</packaging>
<version>1.0</version>
<name>Chapter 7 Simple Parent Project</name>
<modules>
<module>simple-command</module>
<module>simple-model</module>
<module>simple-weather</module>
<module>simple-persist</module>
<module>simple-webapp</module>
</modules>
这个项目知道去他的目录下去寻找各个module, 并寻找各个module子文件夹下面的pom文件.
看其中的一个子项目simple-weather的pom文件:
<parent>
<groupId>org.sonatype.mavenbook.ch07</groupId>
<artifactId>simple-parent</artifactId>
<version>1.0</version>
</parent>
<artifactId>simple-model</artifactId>
<packaging>jar</packaging>
指定了它的parent pom文件, 它自己并没有指定groupId和version, 因为都由parent pom文件指定好了
maven的构建生命周期
默认有3中生命周期, clean, default, site
分享到:
相关推荐
本教程"maven学习.zip"主要关注的是Maven插件的使用,下面将详细介绍Maven插件及其在实际开发中的应用。 **1. Maven插件的概念** Maven插件是Maven生态系统的核心组成部分,它们提供了各种功能,如编译源代码、打包...
** Maven学习资源整理** 在Java开发领域,Maven是一个不可或缺的构建工具,它极大地简化了项目的构建、管理和依赖管理过程。本资源包是为初学者和有经验的开发者准备的一系列Maven学习资料,旨在帮助你更好地理解和...
【 Maven学习极品:初学者的完美指南】 Maven,一个由Apache软件基金会开发的项目管理工具,是Java世界中不可或缺的一部分。它简化了构建过程,通过自动管理项目的依赖关系,使得开发者可以专注于编写代码,而不是...
【Maven学习指南】 Maven是一个强大的项目管理工具,源于Apache组织,专为基于Java平台的项目构建、依赖管理和项目信息管理而设计。它通过一个明确的项目对象模型(POM)来描述项目,利用其内置的项目生命周期和...
**Maven学习笔记** 在Java开发领域,Maven是一个不可或缺的构建工具,它极大地简化了项目的构建、管理和依赖管理过程。Maven通过使用一个项目对象模型(Project Object Model,POM),XML格式的配置文件,定义了...
maven学习笔记maven学习笔记maven学习笔记
### Maven 学习文档知识点详解 #### 一、Maven简介 Maven 是一款非常流行的 Java 项目的构建管理和依赖管理工具。它可以帮助开发者自动化构建过程,简化项目管理和部署流程。通过使用 Maven,开发者可以轻松地管理...
Maven常用命令 Maven Maven学习
### Maven学习文档知识点详解 #### 一、Maven概述与安装目录介绍 Maven是一款流行的自动化构建工具,广泛应用于Java项目的构建过程中。它通过一种项目对象模型(Project Object Model,简称POM)来管理项目的构建...
maven学习文档,包含常见错误和docker的集成,包含多模块开发,不同的profile的开发,和一些插件基础属性说明
**Maven学习书籍** 《Maven实战》是一本专门针对Maven这一强大的Java项目管理和构建工具的书籍。作为国内首部Maven领域的专著,它深入浅出地讲解了Maven的核心概念、工作原理以及实际应用,是Java开发者进阶必备的...
**Maven学习手册** 在软件开发领域,Maven是一个强大的构建工具,主要用于Java项目管理。它简化了构建过程,依赖管理和项目的标准化。本手册旨在帮助开发者深入理解和有效地使用Maven,结合作者的实际项目经验,...
【Maven学习的基础资料】 Maven是一个强大的项目管理和综合工具,主要面向Java开发人员。它通过提供一个标准的项目生命周期框架,大大简化了项目的构建、文档生成、依赖管理、源码分布等任务。Maven的核心理念是...
maven学习资料
本资源“Maven学习必要插件”提供了一套预配置好的Maven环境,以便开发者可以快速投入到Maven的使用中。在本文中,我们将深入探讨Maven的核心功能、常用插件以及如何配置和使用这些插件。 1. **Maven核心功能** ...
通过本教程,读者将逐步学习到如何设置Maven环境、如何编写和理解POM文件、如何利用Maven的生命周期进行项目的构建和管理。以上内容不仅会为初学者提供Maven入门的全面指导,还会通过实际例子帮助开发者深入理解并...
该资料主要讲maven的基础用法,安装和使用等。还有maven常常被使用到的一些命令和用法。注意事项等。
里面包含:两本maven电子书(《Maven权威指南中文版》和《Maven实战》)和两个文档(《在maven和jetty环境下eclipse的调试》、《基于Maven的Spring_+_Spring_MVC_+_Mybatis的环境搭建》),内容皆精品。
Maven是Java开发中的一款项目管理和综合工具...通过以上内容的学习,你将能够熟练地配置和使用Maven,高效地管理你的Java项目。记得实践是检验真理的唯一标准,多动手尝试,结合实际项目,你会对Maven有更深刻的理解。