maven 镜像_Maven(一)

1. 掌握M2Elipse插件安装及Maven仓库的配置

2. 掌握Maven工程目录结构和创建工程

3. 掌握Maven工程的关系

4. 掌握Maven常见的插件

5. 掌握Maven命令

壹、什么是 Maven

a0fc0acb08cdbc6533756cd0d3df2943.png

在Maven中,可以理解为所有的项目都是一个个的对象。

贰、Maven 和 ANT 的区别

d55223b00ccb085e7b6c71f90251ad24.png

79a522b0c8f304aa4c8225f55a4d711d.png

叁、 Maven 的下载与 IDE 的整合

window->Preferences->Maven->Installations,将下载好的的Maven工具添加。

添加后将其勾选,确定。

3c52d525e1c23d2dab758a0bad27c419.png

指定Maven的配置文件。也可以将原setting.xml文件复制一份放入到其他文件夹中进行指定,并自定义配置本地仓库

bba041a6af0fe473e173dc8a7dda9080.png

二、Maven 仓库与配置

Maven 仓库是基于简单文件系统存储的,集中化管理 Java API 资源(构件)的一个服
务。仓库中的任何一个构件都有其唯一的坐标,根据这个坐标可以定义其在仓库中的唯一存
储路径。得益于 Maven 的坐标机制,任何 Maven 项目使用任何一个构件的方式都是完全
相同的,Maven 可以在某个位置统一存储所有的 Maven 项目共享的构件,这个统一的位
置就是仓库,项目构建完毕后生成的构件也可以安装或者部署到仓库中,供其它项目使用。

1、远程仓库:

远程仓库指通过各种协议如 file://和 http://访问的其它类型的仓库。这些仓库可能是第
三方搭建的真实的远程仓库,用来提供他们的构件下载(例如 repo.maven.apache.org 和
uk.maven.org 是 Maven 的中央仓库)。其它“远程”仓库可能是你的公司拥有的建立在文件
或 HTTP 服务器上的内部仓库,用来在开发团队间共享私有构件和管理发布的。

2、本地仓库:

本地仓库指本机的一份拷贝,用来缓存远程下载,包含你尚未发布的临时构件。

3、本地仓库配置

本地仓库是开发者本地电脑中的一个目录,用于缓存从远程仓库下载的构件。

在settings文件中进行配置

<localRepository>D:/java-libs

4、镜像仓库配置

如果仓库 A 可以提供仓库 B 存储的所有内容,那么就可以认为 A 是 B 的一个镜像。例 如:在国内直接连接中央仓库下载依赖,由于一些特殊原因下载速度非常慢。这时,我们可 以使用阿里云提供的镜像 http://maven.aliyun.com/nexus/content/groups/public/来替换中央仓 库 http://repol.maven.org/maven2/。

在settings文件中进行配置

<mirror>

5a7fc59308c6f88efac786fc2ee168a3.png

仓库优先级

本地仓库,镜像仓库,中央仓库。

镜像仓库=中央仓库。 镜像仓库是用于替代中央仓库的。

仓库访问优先级:

本地仓库 第一访问本地仓库。 
指定仓库 如果本地仓库不存在对应信息,访问配置文件中指定的远程仓库。 这个远程仓库是第二优先级。 远程仓库 镜像仓库 镜像仓库是 Maven 开发过程中的首选远程仓库,在本地仓库和指定仓库无法获取资源
的时候,直接访问镜像仓库。 中央仓库 如果镜像仓库不是中央仓库 ,则会在访问镜像仓库无法获取资源后,访问中央仓库。

访问流程

Maven在根据坐标查找jar包的时候,首先访问的是本地仓库,如果在本地仓库中没有包含坐标jar包,
那么访问指定仓库。
在本地仓库和指定仓库无法获取资源的时候,访问镜像仓库,如果镜像仓库不是中央仓库,
那么在访问镜像仓库无法获取资源后,访问中央仓库。

伍、Maven工程

1、Maven 的工程类型 1.1、POM 工程 POM 工程是逻辑工程。用在父级工程或聚合工程中。用来做 jar 包的版本控制。 1.2、 JAR 工程 将会打包成 jar 用作 jar 包使用。即常见的本地工程 - Java Project。 1.3 、WAR 工程 将会打包成 war,发布在服务器上的工程。如网站或服务。
即常见的网络工程 - Dynamic Web Project。war 工程默认没有 WEB-INF 目录及 web.xml 配置文件,IDE 通常会显示工程错误,
提供完整工程结构可以解决。

一、maven工程的创建

New--> other -->Maven Project

722b8960ddb97fd4802a41f839e02d95.png

19c4e17cac868580f068c46d0e353ae7.png

b2a25ff70f483f89449fc263faa54747.png
填写项目信息
1 Group Id 公司域名倒写
2 Artifact Id 项目名
3 Version 版本名
4 Packaging 项目类型4.1 Jar java 项目4.2 War : web 项目4.3 POM: 父项目.如果项目有子项目,项目必须是 pom
5 Name : 自定义名称,内容任意
6 Description: 描述.详细描述.
7 Parent Project: 如果当前项目有父项目时填写 

二、Maven工程结构

src/main/java 这个目录下储存 java 源代码 src/main/resources 储存主要的资源文件。比如spring的xml配置文件和log4j的properties 文件。 src/test/java 储存测试用的类,比如 JUNIT 的测试一般就放在这个目录下面 src/test/resources 储存测试用的资源文件 src 包含了项目所有的源代码和资源文件,以及其他项目相关的文件。 target 编译后内容放置的文件夹 pom.xml 是 Maven 的基础配置文件。配置项目和项目之间关系,包括配置依赖关系等等

1edd488da59d334c1f73f967de58a4ea.png

配置Pom.xml文件

ba210675838ee06be9abf7ae3e18876e.png

三、Maven工程关系

1、依赖关系,创建jar类型工程

<dependencies>     

A项目打包

选中项目,Run As--->Maven install,当控制台出现BUILD SUCCESS时就代表打包成功。可以从target中看到。

06fb0ddc36ea23e83c1fb89a9772b770.png

在B项目中引入A项目。

fd9ceda247e7bc84bdc37d68e5dd6c19.png

2、继承

概念:
如果 A 工程继承 B 工程,则代表 A 工程默认依赖 B 工程依赖的所有资源,且可以应用 B 工程中定义的所有资源信息。
被继承的工程(B 工程)只能是 POM 工程。
父工程:对项目资源做统一管理。
子工程:继承父工程,从父工程中的坐标中选择使用哪些来开发项目。pom类型工程结构与jar工程结构不同

File - New -Maven Project,选择创建pom类型的工程,之后修改pom.xml文件。

340417a4b25950538592997f92beef5d.png
properties,该标签下可以定义任何子标签,标签名字可以任意填写。dependencyManagement,当前只是定义坐标不会将该坐标导入项目中

pom.xml配置

<project 

统一版本管理

在pom工程pom.xml中配置

<junit-version>4.2

在jar工程中配置

<parent>

3、聚合

当我们开发的工程拥有 2 个以上模块的时候,每个模块都是一个独立的功能集合。比如 某大学系统中拥有搜索平台,学习平台,考试平台等。开发的时候每个平台都可以独立编译, 测试,运行。这个时候我们就需要一个聚合工程。 在创建聚合工程的过程中,总的工程必须是一个 POM 工程(Maven Project),各子模 块可以是任意类型模块(Maven Module)。所有聚合工程和聚合模块必须处于同一个组 (groupId)中,且聚合工程可以嵌套。

24036fb6d1320fe65be1bc1f5b08465c.png
可以配置多个module标签

f8f545e920f0061233f4f38435bb5fee.png

Maven 中的常见插件配置

1.编译器插件

pom.xml文件配置(局部对当前项目有效)

<build>

settings.xml 文件中配置全局编译器插件

<profile>

2.Tomcat 管理插件

本地应用

运行命令(tomcat7:run)

<build>

远程热部署

运行命令(第一次 tomcat7:depoly 第二次 tomcat7:redepoly )

远程热部署是指,在 Tomcat 容器运行过程中,动态实现 war 工程的部署,重新部署功能。

cadafd6595bacad4bb35e68bb2b357d4.png

方式三:在linux系统中tomcat目录下conf目录下tomcat-users.xml文件中配置

<role 

在pom.xml中配置

<build>

方式四:只用文件上传工具把war包直接上传到linux中tomcat目录下wapps下root中

Maven 常用命令

install 本地安装, 包含编译,打包,安装到本地仓库 编译 - javac 打包 - jar, 将 java 代码打包
为 jar 文件 安装到本地仓库 - 将打包的 jar 文件,保存到本地仓库目录中。 
clean 清除已编译信息。 删除工程中的 target 目录。 
compile 只编译。 javac 命令 
deploy 部署。 常见于结合私服使用的命令。 相当于是 install+上传 jar 到私服。 包含编译,打包,
安装到本地仓库,上传到私服仓库。
package 打包。 包含编译,打包两个功能。

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

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

相关文章

机器人被抢走ntr_(科普)当被NTR剧情虐到的时候怎么办

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼因为最近NTR剧情略多.很多人被虐的睡不着觉..所以直插主题1.心理强大的人只需看看 萌漫 治愈(后宫)番 萌拔 逆角色ntr gal.就可以了..萌漫推荐 小埋..很短很温馨....(我的心灵很弱小所以看完之后又会想起被虐的场景..跪)2.(此方法涉…

文本编辑器查看 cprintf颜色_实战PyQt5: 028-纯文本编辑控件QPlainTextEdit

QPlainTextEdit简介QPlainTextEdit小部件是一个用于编辑和显示纯文本控件&#xff0c;QPlainTextEdit控件与QTextEdit控件使用了相同的技术和概念&#xff0c;但是它为纯文本处理提供了优化。QPlainTextEdit是一个支持纯文本的高级查看器/编辑器&#xff0c;可以处理大型文档并…

朗读评价语言集锦_评语大全之朗诵评语艺术表现力

朗诵评语艺术表现力【篇一&#xff1a;古诗词诵读比赛评价表】诗歌朗诵比赛评分表评分细则总分100分1.普通话25分吐字清晰&#xff0c;普通话标准2&#xff0e;流利程度20分。朗诵熟练&#xff0c;声音洪亮&#xff0c;正确把握诗歌节奏&#xff0c;韵律明显。若能够脱稿&#…

python logging使用_Python实战之logging模块使用详解

用Python写代码的时候&#xff0c;在想看的地方写个print xx 就能在控制台上显示打印信息&#xff0c;这样子就能知道它是什么了&#xff0c;但是当我需要看大量的地方或者在一个文件中查看的时候&#xff0c;这时候print就不大方便了&#xff0c;所以Python引入了logging模块来…

boat启动器 minecraft_minecraft boat

minecraft boat启动器是一款针对我的世界游戏的启动工具&#xff0c;有了minecraft boat启动器我们就可以在手机上畅玩电脑中的游戏&#xff0c;支持中文&#xff0c;操作起来很方便。让玩家可以尽情地在这个开放世界中冒险和创作&#xff0c;这里为大家展现了一个非常开放的世…

python 数据库接口_Python3笔记050 - 11.1 数据库接口

第11章 使用python操作数据库11.1 数据库接口python3连接mysql需要安装pymysql模块&#xff1b;1、本地安装&#xff1a;pycharm版本是2019.3&#xff1b;python版本是3.7.3&#xff1b;pymysql版本是0.10.0&#xff1b;2、远程安装&#xff1a;虚拟机内安装centos7系统&#x…

使用通用mapper实现条件查询_【微服务】152:Stream流和通用mapper批量查询的使用...

今天是刘小爱自学Java的第152天。感谢你的观看&#xff0c;谢谢你。学习计划安排如下&#xff1a;补充完昨天商品查询中关于分类和品牌的部分&#xff0c;其中牵扯到了两个非常重要的知识点&#xff1a;Stream流的使用&#xff0c;这个学过后基本就没怎么使用过&#xff0c;这次…

python tkinter图片为什么要设置全局变量_为什么这里一定要设置全局变量

下面是程序其中有个变量y如果不开始设置成全局变量&#xff0c;yyk;这里就会提示报错说使用了未赋值的局部变量&#xff01;前提是我再设置其他(inti,z,k,y;)已经设置后不能使用//题目&#xff1a;输入某年某月某...下面是程序其中有个变量y如果不开始设置成全局变量&#xff0…

java递归实现多级菜单栏_vue+ java 实现多级菜单递归效果

效果如图&#xff1a;大概思路&#xff1a;树形视图使用的是vue官方事例代码&#xff0c;java负责封装数据&#xff0c;按照vue官方事例的数据结构封装数据即可。有两个需要关注的点&#xff1a;1.官方事例的数据结构是一个对象里面包含着集合&#xff0c;而不是一个集合对象 2…

python 等值线图_python – matplotlib等值线图:对数刻度的比例色度级

我建议生成一个伪色条如下(见解释说明)&#xff1a;import matplotlib.pyplot as pltimport numpy as npfrom matplotlib.colors import LogNormimport matplotlib.gridspec as gridspecdelta 0.025x y np.arange(0, 3.01, delta)X, Y np.meshgrid(x, y)Z1 plt.mlab.bivar…

php链接本地mysql数据库配置文件_php连接 mysql 数据库如何添加一个公共的配置文件...

展开全部php面向对象文件名DB.class.php<?php header("content-type:text/html;charsetutf-8");class DB{public $db_host;//localhostpublic $db_user;//用户名public $db_pwd;//密码public $db_name;//数据库名public $links;//链接名称//构造方法e69da5e887aa…

mfc打开一个.txt文件并进行处理_文件处理方法Python

你好&#xff0c;我是goldsunC让我们一起进步吧&#xff01;1. 文件说明文件是存储在存储器上的数据序列&#xff0c;在计算机中&#xff0c;所有文件都是以二进制的方式进行存储的&#xff0c;而文件的展示形式一般分为两种&#xff1a;文本形式和二进制形式。文本文件由单一特…

navicat mysql 远程_Navicat for mysql 连接远程数据库

错误码1130&#xff1a;更改mysql数据库里的usermysql>use mysql;mysql>select host from user where userroot;mysql>update user set host % where user root;mysql>flush privileges;mysql>select host from user where userroot;错误码2003&#xff1a;1.m…

qt的如何调整显示不为科学记数法_Excel操作技巧:如何将信息快速准确的录入Excel?...

前面几篇文章中&#xff0c;给大家介绍了一些excel的基本操作技巧&#xff0c;以及如何高效地浏览表格。相信大家多少都会获得一点收获&#xff0c;希望能够为大家提供一些工作上的帮助。工作中&#xff0c;老板经常会安排我们手动输入一些数据&#xff0c;考虑到我们要不停的手…

如何给mysql表添加百万条数据_给mysql一百万条数据的表添加索引

直接alter table add index 添加索引&#xff0c;执行一个小时没反应&#xff0c;并且会导致锁表&#xff1b;故放弃该办法&#xff0c;最终解决办法如下&#xff1a;一.打开mysql 命令行客户端这里我们那可以看到导出的数据文件所存放的默认位置 C:\ProgramData\MySQL\MySQL …

qchart画完以后删除_冬天的夜晚很难画?老师分步骤教你画,简单易学,收藏起来临摹...

今日绘画主题&#xff1a;冬天的夜晚冬天是美好的&#xff0c;也是很多画家喜欢创作的题材之一&#xff0c;但是&#xff0c;冬天的夜晚却是很难画&#xff0c;今天分步骤图解教大家画冬天的夜晚&#xff0c;快收藏起来临摹吧。>>>【第一步】&#xff1a;先来画线稿&a…

mysql scws_apache+mysql+php+scws+myft_scws编译安装全程记录

1.首先编译安装apache&#xff0c;这里是下载的最新版apache 2.2.22版本[rootb2b soft]#tar zxvf httpd-2.2.22.tar.gz[rootb2b soft]#cd http-2.2.17[rootb2b http-2.2.22]#./configure --prefix/home/apache2.2.22 --enable-so --enable-rewrite --enable-ssl --enable-mods-…

python写前端和js_Python之路【第十二篇】前端之jsdomejQuery

JavaScript是一种属于网络的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。1、存在方式functionfunc() {alert("Hello Shuaige")}2、javascrip…

mysql降级导入_mysql 升级和降级

1 官方推荐的两种升级方式&#xff1a;in-place upgradelogical upgrade2 升级之前&#xff1a;备份所有数据库&#xff0c;包括系统库mysql[rootDarren1 ~]# mysqldump -uroot -p147258 -A -B -F --master-data2 --events --single-transaction>/tmp/mysqlall.bak下载5.7.…

python process_Python Process/Thread 概念整理

进程与线程 并发与并行进程与线程首先要理解的是&#xff0c;我们的软件都是运行在操作系统之上&#xff0c;操作系统再控制硬件&#xff0c;比如 处理器、内存、IO设备等。操作系统为了向上层应用程序提供 简单一致 的机制来控制复杂而又大相径庭的低级硬件设备 抽象出 进程 的…