当前位置: 首页 > news >正文

Maven的使用和配置

Maven的使用和配置

起源:

Apache 软件基金会(非营业的组织,把一些开源软件维护管理起来)

maven 是apache的一个开源项目,是一个优秀的项目构建(管理)工具,

maven 管理项目中的jar,以及jar与jar之间的依赖

maven 可以完成项目编译,测试,打包等功能

pom.xml 里面可以配置相关信息,指导maven如何工作

坐标:jar包在仓库中的唯一位置,

​ apache将jar全部在服务器端统一进行了管理,

​ 每一个jar都有一个唯一的地址,

​ 开发者只需要在项目中配置需要使用的jar的地址(坐标),

​ maven就会自动从官方下载jar

仓库:官方存储jar文件的仓库

​ 中央仓库:官方提供的,访问速度慢

​ 中央仓库镜像:在全球各地对中央层库进行备份(例如阿里云),国内访问速度快

​ 本地仓库:在程序员电脑上的仓库,第一次使用时从官方下载到本地,以后从本地直接引用即可

Maven开发环境搭建:

1.1:下载Maven服务器

Maven 官网:http:// maven .apache. org

1.2:安装 配置Maven

在系统环境中配置环境变量,在path中配置到bin目录,配置成功后打开命令提示符输入mvn -version指令查看版本,如果能查看说明配置成功

然后配置本地仓库地址

新建一个文件夹一般命名为本地仓库(LocalRepository),打开下载的maven路径中的conf文件夹中的settings.xml在里面修改本地仓库:把localRepository标签中间的地址改为自己设置的本地仓库地址然后解掉注释

接着我们需要配置阿里云Maven镜像仓库,这样子下载更快

<mirror><id>aliMaven </id><name>aliyun Maven </name><url>http://Maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf>
</mirror>

把上述代码放入pom.xml的mirrors标签里

1.3idea中设置Maven:

1.3.1:File中点击New Projects Settings的Settings for New Projects…

1.3.2:然后点击Bulid,Execution,Deployment里的Build Tools的里的Maven

把Maven home directory改成maven版本路径

User settings file改成settings.xml的路径

Local repository改成本地仓库的路径

1.4创建Maven工程:

新建一个项目选择Maven

main里面时java代码

test里面是测试代码

pom.xml是maven项目于核心配置文件

2.pom.xml配置:

pom.xml文件基本结构

2.1.项目基本信息:
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>test</artifactId>
<version>1.0-SNAPSHOT</version>
2.2.依赖信息:

eg:

<dependencies>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.16</version>
</dependency>
</dependencies>

上述代码是指需要8.0.16版本的mysql-connector-java

http://mvnrepository.com/在这个官网就可以找到相关groupid和artifactid和version信息

2.3.构建信息:
<build>...</build>

3.Maven命令

compile:编译,编译后放在target

打包jar:

clean清空编译的target

compile编译

package打包

打包完后maven-status会出现一个jar包,可以复制出去便完成打包

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【java爬虫】使用element-plus进行个股详细数据分页展示
  • 记录:开始学习网络安全
  • 玩转贝启科技BQ3588C开源鸿蒙系统开发板 —— 代码下载(3)
  • 从仿写持久层框架到MyBatis核心源码阅读
  • Docker 从入门到实践:Docker介绍
  • 第三百三十九回
  • 2020年认证杯SPSSPRO杯数学建模B题(第一阶段)分布式无线广播全过程文档及程序
  • KVM虚拟机部署K8S重启后/etc/hosts内容丢失
  • 1分钟带你了解golang(go语言)
  • Linux 安装Jupyter notebook 并开启远程访问
  • WPF 基础入门(XAML理解二)
  • 【头歌实训】PySpark Streaming 入门
  • Linux 硬件配置
  • Android : 使用GestureOverlayView进行手势识别—简单应用
  • Python学习笔记(六)面向对象编程
  • JavaScript 如何正确处理 Unicode 编码问题!
  • 【笔记】你不知道的JS读书笔记——Promise
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • Angular6错误 Service: No provider for Renderer2
  • JS专题之继承
  • Netty 4.1 源代码学习:线程模型
  • PAT A1017 优先队列
  • Sublime Text 2/3 绑定Eclipse快捷键
  • vagrant 添加本地 box 安装 laravel homestead
  • Vue ES6 Jade Scss Webpack Gulp
  • Webpack 4 学习01(基础配置)
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 基于遗传算法的优化问题求解
  • 前端技术周刊 2019-02-11 Serverless
  • 前端自动化解决方案
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 我建了一个叫Hello World的项目
  • 最近的计划
  • FaaS 的简单实践
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • ###C语言程序设计-----C语言学习(3)#
  • ###项目技术发展史
  • (06)金属布线——为半导体注入生命的连接
  • (1)Nginx简介和安装教程
  • (11)MSP430F5529 定时器B
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (ZT)薛涌:谈贫说富
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (已解决)Bootstrap精美弹出框模态框modal,实现js向modal传递数据
  • **Java有哪些悲观锁的实现_乐观锁、悲观锁、Redis分布式锁和Zookeeper分布式锁的实现以及流程原理...
  • .a文件和.so文件
  • .Net Core webapi RestFul 统一接口数据返回格式
  • .NET 给NuGet包添加Readme
  • .net 使用ajax控件后如何调用前端脚本
  • .net 托管代码与非托管代码
  • .NET 中什么样的类是可使用 await 异步等待的?