删除maven项目_Maven的介绍

Maven的功能

1 依赖的管理:仅仅通过jar包的几个属性,就能确定唯一的jar包,在指定的文件pom.xml中,只要写入这些依赖属性,就会自动下载并管理jar包。

2 项目的构建:内置很多的插件与生命周期,支持多种任务,比如校验、编译、测试、打包、部署、发布...

3 项目的知识管理:管理项目相关的其他内容,比如开发者信息,版本等等

Maven规定的目录结构

f9e9bab15a0f845333c3eb5154a18049.png

Maven包下载

Maven项目时,首先检查pom.xml文件以确定依赖包的下载位置,执行顺序如下:

1dd5a5a509bcb44f63937c21a6ff3ac5.png
2a302bf8b6694520d29f735c5fbbed15.png

1、从本地资源库中查找并获得依赖包,如果没有,执行第2步。
2、从Maven默认中央仓库中查找并获得依赖包(http://repo1.maven.org/maven2/),如果没有,执行第3步。
3、如果在pom.xml中定义了自定义的远程仓库,那么也会在这里的仓库中进行查找并获得依赖包,如果都没有找到,那么Maven就会抛出异常。

Maven命令

913f9c4082736cd1cd658312266a1d78.png

maven项目的完整生命周期

编译:mvn compile  --src/main/java目录java源码编译生成class (target目录下)

测试:mvn test    --src/test/java 目录编译

清理:mvn clean    --删除target目录,也就是将class文件等删除

打包:mvn package  --生成压缩文件:java项目#jar包;web项目#war包,也是放在target目录下

安装:mvn install   --将压缩文件(jar或者war)上传到本地仓库

部署|发布:mvn deploy  --将压缩文件上传私服

dependency下的属性配置

groupId、artifactId、version是依赖的基本坐标,缺一不可。groupId:所需Jar包的项目名;artifactId:所需Jar包的模块名;version:所需Jar包的版本号。

type:依赖的类型,比如是jar包还是war包等,默认为jar。pom.lastUpdated:lastUpdated的意思是表示使用更新描述信息,占位符作用,通俗点讲,选择该类型,jar包不会被加载进来。

optional:标记依赖是否可选。默认值false

exclusions:排除传递依赖,解决jar冲突问题。

scope:依赖范围,意思就是通过pom.xml加载进来的jar包,来什么范围内使用生效,范围包括编译时,运行时,测试时。

- compile :默认范围,用于编译 - provided:类似于编译,但支持你期待jdk或者容器提供,类似于classpath (例如:servlet-api、jsp-api等) - runtime: 在运行时需要使用 (例如:JDBC驱动。JDBC驱动,在编译时(也就是我们写代码的时候都是采用接口编程,压根就没使用到JDBC驱动包内任何东西,只有在运行时才用的到,所以这个是典型的使用runtime这个值的例子),此处不写也不报错) - test: 用于test任务时使用 - system: 需要外在提供相应的元素。通过systemPath来取得 (表示我们自己手动加入的jar包,不属于maven仓库(本地,第三方等),属于别得类库的这样的jar包,只在编译和测试期生效,运行时无效。一般不用)

1b3f938c15ad6e00197e36e8c106c709.png

scope

依赖调节原则

1、第一原则:路径近者优先原则

2、第一声明者优先原则。就是如果路径相同,maven 默认配置在前面的优先使用

继承

在聚合多个项目时,如果这些被聚合的项目中需要引入相同的Jar,那么可以将这些Jar写入父pom中,各个子项目继承该pom即可。

4.0.0cn.missbe.websearch-resourceswar1.0-SNAPSHOTsearch-resourceshttp://www.missbe.cnA maven project to study maven.............banseon-repository-proxybanseon-repository-proxyhttp://192.168.1.169:9999/repository/default......org.apache.mavenmaven-artifact3.8.1jartestspring-coreorg.springframeworktrue......banseon-maven2banseon maven2file://${basedir}/target/deploybanseon-maven2Banseon-maven2 Snapshot Repositoryscp://svn.baidu.com/banseon:/usr/local/maven-snapshotbanseon-sitebusiness api websitescp://svn.baidu.com/banseon:/var/www/localhost/banseon-web
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值