maven学习

来源:互联网 发布:程序员学ui 编辑:程序博客网 时间:2024/06/06 13:59

maven是什么

Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。 当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后 Maven 可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。

五分钟,安装和运行maven

参考教程:maven 5分钟英文版 maven 5分钟翻译版
* 首先下载安装maven
* 然后使用maven新建一个项目
* 查看核心配置文件:pom.xml
* 编译项目,体验生命周期
我这里使用eclipse来创建一个maven的project。创建一个web项目,参考帖子:使用Maven构建Web项目

maven核心概念

前面创建了一个工程之后,可以发现有一个配置文件pom.xml,这里面包含了POM(项目对象模型)。从刚开始的定义中,还有生命周期、项目依赖的概念。

POM–项目对象模型

项目坐标

groupId、artifactId、version、packaging被用来唯一定位一个项目。

生命周期

一个生命周期就是一次执行过程,分为多个阶段,每个阶段都有对应的插件和多个目标。默认的生命周期如下所示:
maven生命周期

依赖管理

非常大的项目,存在很多的依赖关系,所示需要工具来帮助我们管理依赖。需要随着项目来进一步的学习。

常用命令

# 创建项目mvn archetype:create -DgroupId=packageName -DartifactId=projectName  # 创建Maven的Web项目: mvn archetype:create -DgroupId=packageName -DartifactId=webappName -DarchetypeArtifactId=maven-archetype-webapp    # 查看项目依赖树mvn dependency:tree# 打印出已解决依赖的列表mvn dependency:resolve# 编译源代码mvn compile # 打包mvn package# 在本地Repository中安装jarmvn install # 删除再编译,打包不测试mvn clean install  -Dmaven.test.skip=true# 生成eclipse项目mvn eclipse:eclipse# 清除eclipse的一些系统设置mvn eclipse:clean # 启动Jetty 服务mvn jetty:run# 将项目发行到仓库mvn deploy

参考:

  • 深入浅出maven系列博客
  • 阿里学习视频–maven核心&实战
  • 错误: Cannot nest ‘ss/src/main/java’ inside ‘ss/src/’. To enable the nesting exclude ‘main/’ from ‘ss/src/’ ,解决方案:建立文件夹的问题
  • maven依赖于java,需要jdk。
0 0