Maven学习篇(一)---快速入门
来源:互联网 发布:手机发光字软件 编辑:程序博客网 时间:2024/06/05 19:34
什么是Maven
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。
特点:
项目构建:清理、编译、测试、打包、发布
依赖管理:将项目依赖 插件、jar 等自动关联(如果需要使用jar只需要提供配置文件,maven自动下载)
特点:依赖网络
maven所有操作使用“插件”,默认插件需要下载。
一个项目对象模型:POM、product object model,必须提供一个pom.xml(核心配置文件)
maven 有自己的项目结构,此结构称为:骨架
约定优于配置的思想,maven规定以什么目录结构存放内容、规定输出到什么位置等。
maven 安装,安装后只是一个框架,没有实际内容。
Maven的生命周期
Maven 的生命周期在你运行 mvn install 的时候被调用。这条命令告诉 Maven 执行一系列的有序的步骤,直到到达你指定的生命周期。
validate
generate-sources
process-sources
generate-resources
process-resources 复制并处理资源文件,至目标目录,准备打包。
compile 编译项目的源代码。
process-classes
generate-test-sources
process-test-sources
generate-test-resources
process-test-resources 复制并处理资源文件,至目标测试目录。
test-compile 编译测试源代码。
process-test-classes
test 使用合适的单元测试框架运行测试。这些测试代码不会被打包或部署。
prepare-package
package 接受编译好的代码,打包成可发布的格式,如 JAR 。
pre-integration-test
integration-test
post-integration-test
verify
install 将包安装至本地仓库,以让其它项目依赖。
deploy 将最终的包复制到远程的仓库,以让其它开发人员与项目共享。
deploy 将最终的包复制到远程的仓库,以让其它开发人员与项目共享。
deploy 将最终的包复制到远程的仓库,以让其它开发人员与项目共享。
Maven的名词解释
Project:
任何您想build的事物,Maven都可以认为它们是工程。这些工程被定义为工程对象模型(POM,Poject Object Model)。一个工程可以依赖其它的工程;一个工程也可以由多个子工程构成。
POM:
POM(pom.xml)是Maven的核心文件,它是指示Maven如何工作的元数据文件,类似于Ant中的build.xml文件。POM文件位于每个工程的根目录中。
GroupId:
groupId是一个工程的在全局中唯一的标识符,一般地,它就是工程名。groupId有利于使用一个完全的包名,将一个工程从其它有类似名称的工程里区别出来。
Artifact:
artifact 是工程将要产生或需要使用的文件,它可以是jar文件,源文件,二进制文件,war文件,甚至是pom文件。每个artifact都由groupId和 artifactId组合的标识符唯一识别。需要被使用(依赖)的artifact都要放在仓库Repository中,否则Maven无法找到 (识别)它们。
Dependency:
为了能够build或运行,一个典型的Java工程会依赖其它的包。在Maven中,这些被依赖的包就被称为dependency。dependency一般是其它工程的artifact。
Plug-in:
Maven是由插件组织的,它的每一个功能都是由插件提供的。插件提供goal(类似于Ant中的target),并根据在POM中找到的元数据去完成工作。主要的Maven插件要是由Java写成的,但它也支持用Beanshell或Ant脚本写成的插件。
Repository:仓库。
Maven常用命令
mvn archetype:create 创建Maven项目
mvn compile 编译源代码
mvn deploy 发布项目
mvn test-compile 编译测试源代码
mvn test 运行应用程序中的单元测试
mvn site 生成项目相关信息的网站
mvn clean 清除项目目录中的生成结果
mvn package 根据项目生成的jar
mvn install 在本地Repository中安装jar
mvn eclipse:eclipse 生成eclipse项目文件
mvnjetty:run 启动jetty服务
mvntomcat:run 启动tomcat服务
mvn clean package -Dmaven.test.skip=true:清除以前的包后重新打包,跳过测试类
- Maven学习篇(一)---快速入门
- Maven快速入门(一)
- Maven快速入门 (一)
- 快速入门Maven(一)
- Maven学习之入门一
- Maven 学习总结(一)------Maven入门
- Maven基础学习(一)—Maven入门
- Maven基础学习(一)—Maven入门
- Maven学习笔记 --- Maven入门笔记一
- Maven学习(一)——Maven入门
- maven学习一之入门体验
- C++Primer学习笔记一:快速入门
- [GT学习笔记一]快速入门
- PHP学习笔记一:快速入门
- dhtmlxtree学习笔记一(快速入门)
- FreeMarker学习笔记-<一>快速入门
- 快速学习一门新技术入门
- Objective C 快速入门学习一
- 2016.6.16笔记(1)-多线程(1)
- 对寄存器ESP和EBP的一些理解(函数执行之前还做了什么事情?)
- android接收系统广播
- Android RecyclerView 使用完全解析 体验艺术般的控件
- Android gallery 实现定时滑动并添加动画效果
- Maven学习篇(一)---快速入门
- HighCharts趋势图动态设置Series数组(根据后台决定具体几个data), 并动态刷新数据
- FreeMarker的认识及实例(二)
- Linux指令学习(centos6.5)之rpm 指令
- [PHP] - Laravel - CSRF token禁用方法
- 自然数与自然数的五个公理
- 【SpringMVC学习04】Spring、MyBatis和SpringMVC的整合
- linux多线程编程中用到的函数和类型
- 调试器工作原理(1):基础篇