maven术语

在我们上一篇中已经知道了在Intellij idea下是如何使用Maven的了,创建出来的目录结构是这样子的:

上面的目录结构就是Maven所谓的”约定“,我们使用Maven来构建Java项目,都是这种目录结构的…

接下来我们来了解一下Mavaen一些常用的术语

仓库

本地仓库

  • Maven会把我们项目所构建出来的jar包等等资源存放在本地仓库中。当我们需要jar包的时候,Maven第一时间也是去本地仓库中寻找jar包

中心仓库:

-* 当Maven在本地仓库和私服找不到我们需要的jar包的时候,就去中心仓库中帮我们下载对应的jar包*。那Maven怎么知道去哪里下载呢??其实Maven已经配置好的了

apache-maven-3.2.1\lib\maven-model-builder-3.2.1\org\apache\maven\model下的POM.xml文件中已经配置好了

  <repositories>
<repository>
<id>central</id>
<name>Central Repository</name>
<url>http://repo.maven.apache.org/maven2</url>
<layout>default</layout>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories> <pluginRepositories>
<pluginRepository>
<id>central</id>
<name>Central Repository</name>
<url>http://repo.maven.apache.org/maven2</url>
<layout>default</layout>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<updatePolicy>never</updatePolicy>
</releases>
</pluginRepository>
</pluginRepositories>

私有服务器

  • 存储一些jar包的服务器,由于本地仓库不可能拥有大部分的jar包,一个团队要去开发,免不了总是去中心仓库下载,这就非常耗费时间了。如果私有服务器拥有这些jar包,那么每台电脑就不用去中心仓库中下载了…

maven软件构建的生命周期

软件的生命周期就是以下

-* 清除–> 编译–>测试–>报告–>打包(jar\war)–>安装–>部署*

maven生命周期命令插件

当我们使用idea环境下开发,maven生命周期的插件就非常清晰了…

maven坐标

  1. 坐标的组成: groupId + artifactId+ version

    • groupId:组id ,机构名,公司名:好比公司的id,或者是公司包名

      alibaba ——-》高德–》5.01版本
    • artifactId:构建物id ,产品名或者产品的id
    • version :版本号
  2. jar包组成:

    artifactId-version.jar

pom.xml介绍

pom.xml介绍 :project object model 项目对象模型 ,它是maven核心配置文件

当我们把上面的术语了解完以后,对下面pom.xml配置文件就不会感到陌生了。


<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <groupId>zhongfucheng3</groupId>
<artifactId>zhongfucheng3</artifactId>
<version>1.0-SNAPSHOT</version> </project>

如果我们想要我们的项目能够有Junit测试的开发包,我们只要指定对应的jar包依赖就行了..

scope应用范围有test、compile等等,默认是compile,那么test和compile有什么区别呢?

  • 间接依赖问题 :依赖的jar包必须是 compile 范围,假如是test范围,则发布的jar包不会包含test范围依赖的jar包,和依赖关系

<scope>test</scope>

最新文章

  1. ES6之块级作用域
  2. 二模 (16) day1&amp;day2
  3. XidianOJ 1177 Counting Stars
  4. node的实践(项目一)
  5. MapBox TileMill
  6. 基于NodeJs的网页爬虫的构建(一)
  7. Oracle学习.Windows 命令行 启动ORACLE服务与实例
  8. android源码编译环境的准备及编译之后使用emulator运行的方法 - 官方版
  9. 使用exp&amp;imp工具进行数据库备份及恢复
  10. Java中的逆变与协变(转)
  11. Openjudge-计算概论(A)-奥运奖牌计数
  12. 新概念英语(1-41)Penny&#39;s bag
  13. Charles手机抓包常见问题(各种常见坑)
  14. WebSocket对象的“readyState”属性记录连接过程中的状态值
  15. cpu占用过高排查
  16. .net core Area独立成单独的dll文件
  17. 多用户在线人数监听(基于TomCat)
  18. 【转】Java学习---Java中volatile关键字实现原理
  19. 利用Percona monitoring for zabbix监控MySQL
  20. [转] with (nolock) 解释

热门文章

  1. android studio多渠道多包名多apk打包
  2. Apache的配置文件http.conf参数含义详解
  3. vue开发项目的坑
  4. Jquery $(this).attr和$(this).val用法示例
  5. Spring集成RabbitMQ-必须知道的几个概念
  6. python调用C函数
  7. Jquery笔记之第一天
  8. Java架构师系统培训高并发分布式电商实战activemq,netty,nginx,redis dubbo shiro jvm虚拟机视频教程下载
  9. python条件判断与循环
  10. 【pac4j】OAuth 认证机制 入门篇