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

温州免费做网站seo优化排名易下拉技巧

温州免费做网站,seo优化排名易下拉技巧,全球十大建筑设计事务所,没固定ip怎么做网站一、Maven简介 什么是Maven? Maven是一个基于项目对象模型(POM)构建的自动化工具,主要用于Java项目构建、依赖管理和项目信息管理 我理解的Maven:自动下载和管理“代码零件”(比如别人写好的工具包&#x…

一、Maven简介

什么是Maven?

Maven是一个基于项目对象模型(POM)构建的自动化工具,主要用于Java项目构建、依赖管理和项目信息管理

我理解的Maven:自动下载和管理“代码零件”(比如别人写好的工具包)。其实就是把别人写好的工具包拿过来自己使用,会比较方便

核心优势

·标准化构建:通过pox.xml定义项目结构、依赖和构建流程

·依赖管理:自动下载和管理项目依赖(JAR包)

·多模块支持:轻松管理多模块项目

·插件机制:通过插件扩展功能(如编译、打包、测试)

二、创建Maven项目

社区版创建

我们这里以IDEA2021.3.2版本为例

1.新建项目

File->New->Project->Maven,勾选Create from archetype(可选),然后点击Next

注意:前提是项目SDK已正确配置(如JDK17或更高版本)

2.配置坐标

填写GroupId(组织标识)、ArtifactId(项目名)、Version(版本号)、Name(项目名)、Location(项目路径)

然后点击Finish即可创建成功

专业版创建

我们这里以IDEA2021.1版本为例

专业版与社区版在Maven项目创建上流程一致,但专业版支持更多框架集成(如Spring Boot),可直接选择框架模板生成项目。(我们后续在讲解Spring Boot时,就是使用的专业版)

三、Maven核心功能

接下来,我们结合项目,介绍Maven在项目开发中的作用

项目构建

Maven提供了标准的,跨平台(Linux、Windows、MacOS等)的自动化项目构建方式

当我们开发了一个项目之后,代码需要经过编译、测试、打包、发布等流程。每次代码的修改,都需要经过这些流程,如果代码反复调试修改,这个流程就需要反复进行,就显得特别麻烦,而Maven给我们提供了一套简单的命令来完成项目的构建

Maven通过生命周期阶段(Lifecycle Phases)构建项目,常用命令:

·clean :清除target目录

·compile:编译源码

·test:运行单元测试

·package:打包项目(如JAR/WAR)

·install:安装到本地仓库

比如,点击package,就可以完成项目的打包操作

我们之前学习过一个java代码要经过以下过程,才能保证“Write once,Run anywhere”

打包就是把所有的class文件,全部放在一起,打成jar包或者war包

jar包和war包都是一种压缩文件

jar包就是把开发人员已经写好的一些代码进行打包。打好的jar包就可以引入到其他项目中,也可以直接使用这些jar包中的类和属性。另外也可以打成可执行jar包,这样的包就可以通过java -jar命令来执行

war包可以理解为是一个web项目,里面是项目的所有东西,通常用于网站

依赖管理

上面说到,Maven是一个项目管理工具,通过pom.xml文件的配置获取jar包,而不用手动去添加jar包

获取的jar包,其实就是依赖

pom.xml就是maven的配置文件,用以描述项目的各种信息

依赖配置

依赖:指当前项目运行所需要的jar包

比如前面学习JDBC时,我们需要手动下载mysql-connector-java的包,并且添加到项目中

如果使用Maven,我们只需要在pom.xml中引入mysql-connector-java的依赖就可以了

<dependencies><!--里面放置项目的依赖坐标,可以为多个-->
</dependencies>

1.在pom文件<dependencies>标签内,添加依赖坐标

<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId>4   <version>8.0.30</version>
</dependency>

2.点击刷新按钮,引入新加入的依赖jar包

后续有添加新的jar包,或者修改jar包版本,都需要通过该方式在项目中添加依赖

3.刷新完之后,就可以在项目中看到新加入的jar包了

依赖传递

定义:Maven会自动解析依赖的依赖(传递性依赖)。例如,引入spring-boot-starter-web会自动引入其依赖的Tomcat、Spring MVC等

早期我们没有使用maven时,向项目中添加依赖的jar包,需要把所有的jar包都复制到项目工程下。比如A依赖B,B依赖C,那么A项目引入B的同时,也需要引入C,如果我们手动管理这个依赖,这个过程就会比较麻烦,我们需要知道每个库都依赖哪些库,以及这些依赖之间的版本是如何关联的

比如我们要吃火锅,需要有锅,有调料,有食材,以及确认什么样的锅,什么样的食材

比如去医院看病,需要带上以往的病历,检查结果,处方等,并且要确认带的资料是正确的,如果日期错了,或者患者错了,带少了,就需要回去重新拿

但使用maven的话,就可以避免管理所需依赖的关系。我们只需要在pox文件中,定义直接依赖就可以了,由于maven的依赖具有传递性,所以会自动把所依赖的其他jar包也一起导入

比如吃火锅,现在我们可以点一个海底捞外卖,直接就把所有食材都送过来了,包括什么锅,配什么菜。

比如去医院看病,借助“互联网”,实现了信息共享,只需要带上身份证,以往的病历和检查结果就可以都看到了

如上图,项目A通过Maven引入JarA时,会自动引入Jar B和Jar C

Jar A和项目B就是项目A的直接依赖

Jar B和Jar C是项目A的间接依赖

直接依赖:在当前项目中通过依赖配置建立的依赖关系

间接依赖:被依赖的资源如果依赖其他资源,当前项目间接依赖其他资源

依赖排除

定义:指主动断开依赖的资源(被排除的资源无需指定版本)

比如,我下了一个快递单子,默认会有一个服务,就是快递小哥会上门取件,但是我刚好要出门,而且顺路经过站点,也可以选择自己送过去

当前阶段我们需要依赖的库并不多,但随着项目越来越复杂,库之间的依赖关系也会变得越来越复杂

如上图中,如果项目A不需要JarB,也可以通过排除依赖的方式来实现

通过<exclusions>排除特定传递性依赖:

xml
<dependency><groupId>com.example</groupId><artifactId>example-lib</artifactId><version>1.0</version><!--排除依赖--><exclusions><exclusion><groupId>unwanted-group</groupId><artifactId>unwanted-artifact</artifactId></exclusion></exclusions>
</dependency>

maven还有一些功能是依赖调解,可选依赖等

依赖调解:

当项目中的依赖存在依赖冲突时,例如:存在这样的依赖:

A->B->C->X(1.0)

A->D->X(2.0)

Maven会采用最短路径优先的原则去选择依赖,这里2的依赖路径更短,所以会选择X(2.0),当然我们也可以选择指定某个依赖的版本

四、Maven Help插件

当项目比较复杂时,我们就有jar包冲突的问题,这时候就需要去解决依赖冲突。解决冲突之前,需要先找到冲突,我们可以使用Maven Help插件来观察包和包之间的依赖关系

理解“插件”(plugin)

像IDEA这样的程序虽然功能强大,但是也无法做到面面俱到。对于一些特定场景的功能,开发者就可以开发一些“插件”。如果需要这个插件,就单独安装

插件就是对程序的一些特定场景,做出一些特定的功能的扩展

安装插件

File->Settings->Plugins->搜索“Maven Help”->找到对应插件,点击 Install安装即可,安装后需要重启下 idea,才能生效

安装之后,打开pom文件,就可以看到Jar包之间的依赖关系

也可以右键排除掉一些依赖。右键后选择Exclude即可

五、Maven仓库

我们通过短短几行代码,就把依赖jar包放在了项目里,具体是如何做的呢?

<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId>4   <version>8.0.30</version>
</dependency>

这个代码,我们称之为“坐标”,也就是唯一的

在Maven中,根据groupId(组织标识)、artifactId(项目名)、version(版本)的配置,来唯一识别一个jar包,缺一不可。

还记得不:我们在创建Maven项目时,就是用这三个参数配置坐标的

当我们在pom文件中配置完依赖之后,点击刷新,Maven会根据坐标(<dependency>)的配置,去仓库里寻找Jar包,并把她下载下来,添加到项目中。这个Jar包下载的地方就成为仓库

仓库:用于存储资源,管理各种Jar包

Maven仓库的本质就是一个目录(文件夹),这个目录被用来存储开发中所有依赖(jar包、插件等)

Maven仓库分为两大类:本地仓库和远程仓库。其中远程仓库又分为中央仓库,私服和其他公共库

本地仓库

定义:自己计算机上的一个目录(用来存储jar包)

当项目中引入对应依赖的jar包后,首先会查找本地仓库中是否有对应的jar包

·如果有,则在项目中直接引用

·如果没有,则去中央仓库中下载对应的jar包到本地仓库

本地仓库地址可以通过Maven配置查看:

File->Settings->搜索maven->Local reposi的地址即为本地仓库

查看该仓库目录,可以看到该目录下有很多的jar(最开始是空的,随着Maven的使用,该仓库下文件会越来越多)

中央仓库

定义:Maven软件中内置一个远程仓库地址,就是中央仓库,服务于整个互联网。由Maven团队维护,全球唯一

仓库地址https://repo1.maven.org/maven2/

我们可以看到仓库里的jar包,但是并不方便使用。

我们可以通过https://mvnrepository.com 这个网站来查询并下载

我们可以把自己写好的Jar包上传到中央仓库(具备一定的要求),也可以从中央仓库下载Jar包

查找Jar的坐标

1.访问https://mvnrepository.com

2.进行查找,比如mysql

3.选择要添加的Jar包版本

4.查看Jar包对应坐标

我们只需要复制后,到pom文件下,粘贴即可

私有服务器(私服)

私服:一般由公司团队搭建的私有仓库

私服属于某个公司,或者某个部门,往往需要一定权限

有了私服之后,Maven依赖下载的顺序又发生了变化

当Maven需要下载资源的时候

1.先从本地仓库获取,本地仓库存在,则直接返回

2.如果本地仓库没有,就从私服请求,私服存在该资源,就直接返回

3.如果私服上不存在该资源,则从中央仓库下载,中央仓库不存在,就报错了

4.如果中央仓库中存在,就先缓存在私服上之后,再缓存到本地仓库里,再为Maven的下载请求提供服务

私服是很多人在使用的,所以只需要第一个使用者下载一次就可以了

Maven设置国内源

因为中央仓库在国外,所以下载起来会比较慢,所以咱们选择借助国内一些公开的远程仓库来下载资源

接下来介绍,如何设置国内源

配置当前项目Settings

File->Settings->搜索maven->找到User setting file

1.查看配置文件的地址,如上图所示,Maven配置文件地址为:D:\Maven\.m2\settings.xml

不同电脑设置的Maven路径不同

User settings file和Local repository可以修改设置为其他路径,但两个路径中不要有中文

2.配置国内源

Maven仓库默认在国外 https://mvnrepository.com/  ,国内使用时会比较慢,我们可以更换为阿里云的仓库,当然也可以选择别的仓库,我们这里参考:Maven 镜像地址大全 - 知乎

打开settings.xml(上述配置文件的地址),在mirrors节点上,添加内容如下:

settings.xml内的字符很多,我们下滑找到<!--mirrors  ,然后把从 Maven 镜像地址大全 - 知乎 中复制的阿里云镜像地址添加到<!--mirrors 中即可

设置新项目的setting

上述配置的内容,只对当前项目生效,为了让后续新建的项目也生效,需要重新设置一下新项目的Settings

只需要保证:当前项目和新项目共用一个settings文件即可,所以新项目的设置,只需要确认一下settings文件的路径即可

步骤:File->New Projects Setup->Settings for New Projects

只需要新项目的User settings file和Local repository如下即可:


文章转载自:

http://BVpEaJMg.gydth.cn
http://EeEc4liW.gydth.cn
http://o1NWYssI.gydth.cn
http://p38y49ja.gydth.cn
http://FN4R3UeV.gydth.cn
http://luGxzNhp.gydth.cn
http://xvZFPaEV.gydth.cn
http://QkfpUBD2.gydth.cn
http://OAfLn74K.gydth.cn
http://TyyXHBqv.gydth.cn
http://O4u7uRGS.gydth.cn
http://i7x7kABM.gydth.cn
http://LZ8OytQB.gydth.cn
http://yQceJmYO.gydth.cn
http://lPYN2dTy.gydth.cn
http://kmSSbOki.gydth.cn
http://x3Kws59U.gydth.cn
http://WaaLrbVX.gydth.cn
http://ifRaEXep.gydth.cn
http://zr4qyBBW.gydth.cn
http://6Wx2Cdj9.gydth.cn
http://qgTaHBlh.gydth.cn
http://vY1EaRnV.gydth.cn
http://1qLMivy4.gydth.cn
http://zx6rr1BY.gydth.cn
http://p4ZjbuNA.gydth.cn
http://LcNoWhRA.gydth.cn
http://MNbp2K0F.gydth.cn
http://MbAxVZyI.gydth.cn
http://SH7pDF8B.gydth.cn
http://www.dtcms.com/wzjs/779855.html

相关文章:

  • 网站dns解析设置承德北京网站建设
  • 邢台做网站的价格域名安全检测中心
  • 做视频网站用什么源码柯桥区网站建设
  • 从事网站建设的工资wordpress边栏时间
  • 个人网站设计方案网页制作培训学院
  • 在线优化网站建设深圳网站推广优化培训
  • 西城网站建设阳江网上车管所
  • flask做的网站微信小程序在线玩
  • ps做网站设计稿电商网站开发的功能
  • 达州建设机械网站网站建设与功能模块
  • 青岛做网站哪家强众云网联做的网站效果好吗
  • wordpress英文仿站html网站开发目标
  • 求推荐做ppt的网站网站策划书网站需求分析
  • wordpress建英文网站汕头网页制作公司
  • 杭州哪些做网站公司好西安学校网站建设
  • 可以做营销任务的网站联系人网站设计
  • 做招聘网站要多久app注册
  • 主持人做的化妆品网站做网站最便宜多少钱
  • 网站如何做参考文献js网站开发
  • 网站文章内链手机在线网页制作
  • 网站seo数据分析西安机场商务宾馆百度做网站
  • html5做个网站多少钱锦州制作网站公司
  • 从seo角度去建设网站信息发布网站建设
  • jsp小型网站开发代码做网站最好的公司
  • 深圳建设网站服务网站首页收录
  • 河南电商网站开发网站名称和备案不一样
  • 无锡网站制作哪家有名中文手机编程软件app
  • php网站开发实战视频教程株洲网站建设报价
  • 做网站珊瑚橙颜色怎么搭配好看做程序的网站
  • 阿里云 建设网站网站怎么做防御