项目管理工具之maven
来源:互联网 发布:艾斯臣鞋子怎么样知乎 编辑:程序博客网 时间:2024/06/16 04:59
目录(?)[+]
一,maven的介绍
Maven是一个项目管理工具,它包含了一个项目对象模型,一组标准集合,一个项目生命周期,一个依赖管理系统和用来运行定义在生命周期阶段中插件目标的逻辑。简单来说,maven的作用是通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。
标准目录结构:
src
-main
–bin脚本库
–Java Java源代码文件
–resources资源库,会自动复制到classes目录里
–filters资源过滤文件
–assembly组件的描述配置(如何打包)
–config配置文件
–webapp web应用的目录。WEB-INF、css、js等
-test
–java单元测试java源代码文件
–resources测试需要用的资源库
–filters测试资源过滤库
-site Site(一些文档)
target
LICENSE.txtProject’slicense
README.txtProject’sreadme
二,环境搭建(配置环境变量)
(1)在path路径添加Maven的bin目录路径
D:\maven-3.3.9\bin
(2)添加环境变量 M2_HOME
M2_HOME = D:\maven-3.3.9
三,maven常用的构建命令
mvn -version/-v
显示版本信息
mvn package
打包生成target目录,编译、测试代码,生成测试报告,生成jar/war文件
mvn jetty:run
运行项目于jetty上,
mvn compile
编译
mvn test
编译并测试
mvn clean
清空生成的文件
mvn install
安装jar包到本地仓库中
mvn archetype:generate
按照提示一步一步来创建mvn项目
mvn archetype:generate
一步到位,直接创建mvn项目
-DgroupId=组织名
-DartifactId=项目名-模块名
-Dversion=版本号
-Dpackage=代码所在的包名
四,Pom.xml
该文件在maven工程中发挥着核心作用,源代码、配置文件、开发者的信息和角色、问题追踪系统、组织信息、项目授权、项目的url、项目的依赖关系
等等的管理都是通过Pom.xml,基本配置信息作用如下:
五,maven中的依赖关系
项目之间的依赖是通过pom.xml文件里面的dependencies元素下面的dependency元素进行的。一个dependency元素定义一个依赖关系。在dependency元素中我们主要通过依赖项目的groupId、artifactId和version来定义所依赖的项目。
groupId
依赖项的groupId
artifactId
依赖项的artifactId
version
依赖项的版本
scope
依赖项的适用范围:
compile,缺省值,适用于所有阶段,会随着项目一起发布。
provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。
runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。
test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。
system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。
exclusions
排除项目中的依赖冲突时使用。
六,依赖冲突
什么是依赖冲突?
比如C依赖了A和B,A和B有一个相同的jar,但是这个jar版本不一样,比如一个是1.0的,一个是2.0的,那C是依赖了1.0的包呢还是2.0的包?
检查项目中的依赖冲突:
运行:
mvnproject-info-reports:dependencies
就可以查看依赖项报告。
去除依赖项的代码:
原则:
1,短路优先
短路优先,例如:
甲项目->乙项目->丙项目(IO-1.0.jar)
甲项目->丁项目(IO-2.0.jar)
那么,甲项目添加的依赖包就是2.0
2,路程一样,先声明的优先
即在pom.xml中配置的顺序,在上面谁先加载的就使用谁的jar包。
- 项目管理工具之maven
- 项目管理工具之maven
- 项目管理工具之maven
- 大话项目管理工具之Maven篇
- javaweb之Maven项目管理工具学习
- 【转载】大话项目管理工具之Maven篇
- Selenium之maven(项目管理工具)
- 大话项目管理工具之Maven篇
- JAVA 项目管理工具: Maven
- Maven项目管理工具
- Maven 项目管理工具
- Java 项目管理工具Maven
- 项目管理工具Maven
- 项目管理工具Maven(二)
- Maven(项目管理工具)
- Java项目管理工具-Maven
- 项目管理工具—Maven
- 项目管理工具maven
- 1977: Bit-reversal Permutation(递归)
- python篇8_python中的变量和访问权限
- leetcode 77. Combinations
- spring boot中的banner制作
- 从知识付费不同时期演化,看其蜕变之路
- 项目管理工具之maven
- Spring-国际化信息03-容器级的国际化信息资源
- 如何将安装好的英文版的Ubuntu系统改为中文
- 简单错误程序——INF;调试到n==1,sum就inf
- 如何将Java Web项目转换为Java项目?
- 最小生成树之Kruskal算法 Java实现
- Oozie和Azkaban的技术选型和对比
- 1
- 51nod1288 汽油补给