【maven】 初识
2021/8/2 6:06:13
本文主要是介绍【maven】 初识,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
最近会总结一下maven的用法,做一个归类。日常开发中经常使用到maven,但是缺从来没有花时间去总结,这是一个非常不好的行为。希望从今天开始能够每天学习总结,哪怕只是一个小知识,也能有所积累。
发音
maven(英[ˈmeɪvn]) ,请看准发音!
下载
maven仓库
环境要求
maven是一个基于java的工具,因此必须要有jdk环境哦。maven的安装这里就不说啦,网上可以轻松搜罗到很多的教程
Maven版本 | JDK要求 |
---|---|
Maven 3.3 | JDK 1.7 或以上 |
Maven 3.2 | JDK 1.6 或以上 |
Maven 3.0/3.1 | JDK 1.5 或以上 |
Maven 项目结构
bin目录:存放的是核心文件
conf目录:目录下有一个极其重要的文件 settings.xml(maven的核心配置文件/全局配置文件),这个后面再说
什么是Maven
maven是apache下的一个java开发的项目管理工具。Maven基于项目对象模型POM(Project Object Model)
的概念,可以通过一小段描述信息管理项目构建,报告和文档的软件项目管理工具。
因为是基于POM,因此Maven中的每一个项目都可以当成一个对象,并且这些对象之间是有关系的:依赖,继承,聚合
名词解释
- POM (Project Object Model): 项目对象模型, 具体体现形式是一个xml文件
- 仓库: 项目中依赖库或项目本身库所在的地方就叫做仓库
- 构件: 任何一个依赖、插件或者项目构建的输出都叫做构件,通俗的说(JAR包就是一个构件,但不仅限于JAR包)
仓库
Maven仓库是基于文件系统存储的,集中化管理构件的一个服务。仓库可以分为三类: 本地仓库、中央仓库、远程仓库
本地仓库
存在于计算机本地的仓库
Setting.xml配置
其中 D:\software\java-software\repository 就是我本地仓库的地址,后续的jar包都会被管理到这里
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <localRepository>D:\software\java-software\repository</localRepository> </settings>
中央仓库
Maven社区提供的仓库,内部包含了大量的常用库。一般JAVA项目需要用到的库都能在这上面下载到 中央仓库
这个中央仓库本来是不需要在setting中设置的,但是因为Maven的中央仓库在国外,下载速度比较慢。因此我们通常会配置阿里国内镜像,如下
Settings.xml
<mirrors> <mirror> <!-- 镜像id可以修改 --> <id>alimaven</id> <!-- 镜像名称,可以修改 --> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <!-- 阿里的仓库名,不能随意修改 --> <mirrorOf>central</mirrorOf> </mirror> </mirrors>
POM.xml
当然也可以在POM文件中配置
<repositories> <repository> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories>
远程仓库
远程仓库也可以叫成私服仓库, 一般由公司内部程序员自己定制的一个仓库,用于共享私有构件的。
比如A项目已经开发完毕,打成JAR包放到私服上。如果B项目依赖A项目,那么就可以从私服仓库中下载该JAR包
Settings.xml
<profile> <repositories> <repository> <id>snapshots</id> <url>http://xxx/nexus/content/repositories/snapshots/</url> <releases> <enabled>false</enabled> <updatePolicy>always</updatePolicy> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> <repository> <id>releases</id> <url>http://xxx/nexus/content/repositories/releases/</url> <releases> <enabled>true</enabled> <updatePolicy>always</updatePolicy> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> </profile>
这篇关于【maven】 初识的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)