Maven-高效的Java项目构建与管理工具(含Maven详细安装与配置过程)

Maven

什么是Maven?

正如题目所说,Maven就是一款高效的Java项目构建与管理工具,基于项目对象模型(POM)概念,利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。是Apache软件基金会的一个开源项目

Maven的作用

⭐依赖管理

依赖管理的出现极大的解放了Java项目Jar包导入的繁琐流程与重复工作量,你只需在Maven项目的pom.xml文件(下面图片项目结构的最后一个文件)中引入相关依赖即可

⭐统一项目结构

Maven提供了统一的Java项目结构,你不必担心不同编译器所带来的项目结构不兼容的困扰

⭐ 高效项目构建

Maven提供了一系列项目构建指令Maven生命周期,由插件执行),使项目构建快速高效简单

依赖仓库

分为本地仓库,中央仓库与远程仓库(私服)

本地仓库:安装的Maven目录的依赖仓库文件夹,一般配置为mvn_repo,后面会配置

中央仓库:全球总仓库,几乎包含所有Jar包(国外网站,速度慢,一般用国内网站即可)

远程仓库(私服):由公司自己搭建的私有仓库,例如阿里巴巴私服

依赖获取:本地仓库有的直接使用即可,没有则先在远程仓库获取远程如果还没有再考虑中央仓库

Maven的安装与配置

安装

1.下载

进入Maven官网Maven – Download Apache Maven下载即可

2. 解压

下载好的文件解压到到一个没有中文的目录中即可有中文可能会报错

解压后的目录

bin:存放可执行文件

conf:存放配置文件

lib:存放Maven依赖jar包

配置

1.创建本地仓库目录

Maven文件中新建文件夹mvn_repo即可

2.配置本地仓库目录

打开conf/settings.xml文件

添加 <localRepository>这里填你刚刚创建本地仓库文件地址</localRepository>

我的是 <localRepository>D:\apache-maven-3.6.1\mvn_repo</localRepository>,仅作参考

 3.配置阿里云私服地址

还是在conf/settings.xml文件

将下面的复制到指定位置即可


          <mirror>
            <id>nexus-aliyun</id>
            <mirrorOf>central</mirrorOf>
            <name>Nexus aliyun</name>
            <url>https://maven.aliyun.com/repository/public</url>
        </mirror>

 

4.配置环境变量

先复制maven的目录地址:D:\apache-maven-3.6.1(这是我的,文件夹里复制自己的)

 打开系统高级设置,直接windows搜索即

点击环境变量

按下面步骤

1:点击新建

2:填好

3.确定

 

下面一样新建,填好,在一路确认就完成了环境变量配置

测试

win+r键打开输入   cmd   进入命令提示符 输入

mvn -v

出现版本号

代表Maven 安装成功!!!

Idea配置Maven环境

配置全局环境

1.关闭项目

 2.打开设置

 3.配置好自己的地址

4. 改为自己JDK版本

5.改自己版本

 配置完毕!!!

 Idea创建Maven项目

New Project            然后按下面配置即可

Idea导入Maven项目

 一路照做即可

依赖管理

依赖配置

引入项目依赖即引用坐标即可

如何引入依赖

cv工程师上线!!!

百度你想要的依赖或者进入Maven Repository: Search/Browse/Explore (mvnrepository.com)

搜索依赖(这里是logback)

找用的人多的版本就行 

 

直接cv到pom.xml的文件里就完成

 依赖传递

就是依赖的继承

依赖范围 

依赖的作用范围

Maven生命周期

差不多就是项目构建的流程

生命周期全过程(5个红色的是常用的)

如何执行生命周期(构建项目)

Idea内置工具,或命令行敲命令

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/204593.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站测试都要测试哪些?如何进行测试?

1 UI测试 看页面是否美观养眼(包括页面的布局是否合理&#xff0c;策划是否舒服美观&#xff0c;页面长度是否合理&#xff0c;前景色与背景色是否搭配&#xff0c;页面风格是否统一&#xff0c;色调是否适合人眼&#xff0c;会不会太刺眼&#xff0c;字体大小是否合适&#x…

Java多线程:代码不只是在‘Hello World‘

Java线程好书推荐 概述01 多线程对于Java的意义02 为什么Java工程师必须掌握多线程03 Java多线程使用方式04 如何学好Java多线程写在末尾&#xff1a; 主页传送门&#xff1a;&#x1f4c0; 传送 概述 摘要&#xff1a;互联网的每一个角落&#xff0c;无论是大型电商平台的秒杀…

IntelliJ IDEA图形安装教程

IntelliJ IDEA图形安装教程 之前开始Java程序&#xff0c;一直用的eclipse&#xff0c;觉得还可以。一直听说IntelliJ IDEA比eclipse好用很多&#xff0c;但因为比较懒&#xff0c;也没有学习使用。机缘巧合下&#xff0c;尝试用了下&#xff0c;顿时有种相见恨晚的感觉&#…

【问题思考】泰勒公式证明题如何选展开点?【对称美】

我的证明题水平很烂&#xff0c;这个纯属让自己有一个初步的理解&#xff0c;恳请指正&#xff01; 问题 我们可以看到这里有两种展开方式&#xff08;注意&#xff1a;x0叫展开点&#xff09;&#xff0c;分别是正确的做法&#xff0c;在x0展开&#xff0c;然后将0和a代入fx中…

聊聊java的两种锁同步锁和重入锁

java重入锁和同步锁有什么区别 在Java中&#xff0c;重入锁&#xff08;ReentrantLock&#xff09;和同步锁&#xff08;Synchronized&#xff09;都是用于实现线程同步的机制&#xff0c;但它们有一些区别。 可重入性&#xff1a; 重入锁是可重入的&#xff0c;也就是说&…

Windows系统上如何搭建Linux操作系统

一、准备工作 1&#xff0c;VMware安装包 2&#xff0c;Centos IOS镜像 3&#xff0c;finalshell安装包 阿里云盘下载地址&#xff1a; https://www.alipan.com/s/uSQsWn15E3W 二&#xff0c;VMware安装 1&#xff0c;新建虚拟机 2&#xff0c;选择下一步 3&#xff0c;…

如何在Linux上部署1Panel运维管理面板并远程访问内网Web端管理界面

文章目录 前言1. Linux 安装1Panel2. 安装cpolar内网穿透3. 配置1Panel公网访问地址4. 公网远程访问1Panel管理界面5. 固定1Panel公网地址 前言 1Panel 是一个现代化、开源的 Linux 服务器运维管理面板。高效管理,通过 Web 端轻松管理 Linux 服务器&#xff0c;包括主机监控、…

Course1-Week3-分类问题

Course1-Week3-分类问题 文章目录 Course1-Week3-分类问题1. 逻辑回归1.1 线性回归不适用于分类问题1.2 逻辑回归模型1.3 决策边界 2. 逻辑回归的代价函数3. 实现梯度下降4. 过拟合与正则化4.1 线性回归和逻辑回归中的过拟合4.2 解决过拟合的三种方法4.3 正则化4.4 用于线性回归…

揭秘:微信淘宝客自动查券找券返利机器人的工作原理与实现思路

揭秘&#xff1a;微信淘宝客自动查券找券返利机器人的工作原理与实现思路 分享一篇文章&#xff0c;让我们一同探索微信淘宝客自动查券找券返利机器人的工作原理与实现思路。结合微赚淘客系统&#xff0c;我们将为你揭开这个智能购物助手的神秘面纱。 一、引言 随着人工智能…

elk(filebeat)日志收集工具

elk&#xff08;filebeat&#xff09;日志收集工具 elk&#xff1a;filebeat日志收集工具 和logstash相同 filebeat是一个轻量级的日志收集工具&#xff0c;所使用的系统资源比logstash部署和启动时使用的资源要小得多 filebeat可以运行在非Java环境。他可以代理logstash在…

彻底解决module java.base does not “opens java.io“

需求背景 最近在使用android studio导入hbuilder的HBuilder-Integrate-AS工程时候报错&#xff0c;错误消息如下两种。 错误描述 第一种 Failed to notify dependency resolution listener. void org.gradle.api.artifacts.DependencySubstitutions$Substitution.with(org.g…

mysql8报sql_mode=only_full_group_by(存储过程一直报)

1&#xff1a;修改数据库配置(重启失效) select global.sql_mode;会打印如下信息 ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION里面包含 ONLY_FULL_GROUP_BY&#xff0c;那么就重新设置&#xff0c;在数据库中输入以下代码&#xff0c;去掉ONLY_FULL_GROU…

UnityShader自定义cginc文件

1.概述 在使用UnityShader开发中&#xff0c;经常需要引入cginc文件&#xff0c;比如UnityCG.cginc。这些文件声明了很多内置的辅助函数和数据结构体&#xff0c;可避免大量重复编码工作。那么在实际开发中其实也需要把一些函数给封装起来&#xff0c;方便调用&#xff0c;那么…

【运维面试100问】(七)ceph基础题面试

本站以分享各种运维经验和运维所需要的技能为主 《python零基础入门》&#xff1a;python零基础入门学习 《python运维脚本》&#xff1a; python运维脚本实践 《shell》&#xff1a;shell学习 《terraform》持续更新中&#xff1a;terraform_Aws学习零基础入门到最佳实战 《k8…

linux下Kafka安装及基本操作

1.下载Kafka http://archive.apache.org/dist/kafka/1.1.0/ 2.解压并重命名 mkdir /usr/local/kafka cd /usr/local tar zxvf kafka_2.12-1.1.0.tgz mv kafka_2.12-1.1.0 ./kafka //把kafka_2.12-1.1.0下的文件拷贝到/usr/local/kafka下面3.配置kafka mkdir /usr/local/kaf…

加密系统,您的数据安全守护者,助您远离泄露风险!

随着云计算、大数据等技术的快速发展&#xff0c;企业在技术升级&#xff0c;业务上云的同时&#xff0c;也面临着来自互联网的各类安全威胁&#xff0c;并且导致数据信息的泄露。企业数据安全问题几乎为新时代人的焦虑又添上了一把火&#xff0c;面对形形色色的网络攻击手段&a…

Python版本与opencv版本的对应关系

python版本要和opencv版本相对应&#xff0c;否则安装的时候会报错。 可以到Links for opencv-python上面查看python版本和opencv版本的对应关系&#xff0c;如图&#xff0c;红框内是python版本&#xff0c;绿框内是opencv版本。 查看自己的python版本后&#xff0c;使用下面…

Linux AMH服务器管理面板本地安装与远程访问

最近&#xff0c;我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念&#xff0c;而且内容风趣幽默。我觉得它对大家可能会有所帮助&#xff0c;所以我在此分享。点击这里跳转到网站。 文章目录 1. Linux 安装AMH 面板2. 本地访问AMH 面板3. Linux安装…

利用simlink转化HDL-verilog

首先在simlink中找到HDL CODER 打开红色Blank DUT&#xff0c;进入里面绿色的子系统开始设计系统 例如设计一个正弦信号发生器&#xff0c;里面用到了add、memory、relation operator、switch、constant、cos模块&#xff0c;cos模块选择了cordic算法&#xff0c;使用cordic那…

8.2 C++11通用属性

一、编译器的通用属性 随着C语言的演变和编译器的发展&#xff0c;人们常常发现C的标准提供的语言能力不能完全满足要求&#xff0c;因此各大编译器厂商为了满足客户需求&#xff0c;设计出一系列语言扩展来扩展语法&#xff0c;比较常见的就是“属性”。 “属性”是作用于实…