什么是jar包的坐标?
当我们使用Maven开发一个项目时,需要向项目中导入很多个jar包,这些jar包不需要我们自己一个个的导入,只需要在创建的项目中的pom.xml文件中写上需要的jar包的坐标,Maven就会去本地仓库找有没有这个架包,要是没有就会网上自动帮我们找到这个jar包并下载到本地仓库中。在实际的项目开发中,这些工作都是由项目经理提前帮我们做好的,但是如果自己做的项目,就需要自己写各个jar包的坐标,以下是写jar包的坐标的方法:
因为我们可能不知道要导入的架包的坐标得怎么写,所以我们可以查看官网。
1、打开浏览器,输入:https://mvnrepository.com/
2、在搜索框中输入需要的jar包名称(以servlet为例),然后点击“Search”
3、点击第一个“Java Servlet API”
4、点击需要的版本(以3.1.0为例)
5、复制下面的内容
6、回到IDEA对应项目的pom.xml文件中,在 标签里面粘贴第5步复制的内容
效果如下:
……
<dependencies>
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
……
7、如果IDEA中右下角出现下面提示,点击“Import Changes”,等待IDLE自动导入项目需要的文件。下面这个截图提示也不一定会出现。
8、ok了
但是要注意:你粘贴过来要求你的idea是联网的,这样idea才能去网络上下载这个架包到你设置的本地仓库里去(看的是你idea项目配置的本地仓库地址,一般我们会设置我们创建项目的对应的本地仓库地址
和maven安装目录下的settings.xml中配置的本地仓库地址
一样,注意:要是你没有用骨架创建项目,那么默认他用c盘下的那个默认本地仓库位置,所以我们不用骨架最好我们自己设置一下本项目对应的本地仓库地址,不然那些架包还是会下载到c盘中的。设置步骤:点击File,settings,选择Build,Execution,Deployment
,然后点击Build Tools,选择Maven,你就能看到Local repository这个选项了,在这里来配置,最好把上面的user settings file
也一起配置了)。第一次下载后,本地仓库有了下一次就不用去本地仓库下载了。还有要注意的就是,从中央仓库下载的话会比较慢,你最好还是配置一下镜像吧。
配置镜像
为什么需要配置maven国内镜像?
1、 在不配置镜像的情况下,maven默认会使用中央库.
2、maven中央库在国外,有时候访问会很慢,尤其是下载较大的依赖的时候,有时候速度会很慢,甚至会出现无法下载的情况.
3、为了解决依赖下载速度的问题,需要配置maven国内镜像,让本地仓库找不到对应的架包就去镜像位置下载。
镜像配置方式和比较:
1、 maven镜像有两种配置,第一种是在settings.xml中进行配置,第二种是在pom.xml中进行配置.
2、在settings.xml中进行配置会对所有maven工程有效,当在升级maven版本的时候,需要注意复制已经配置好的settings.xml到新的maven目录下
3、使用第二种配置pom.xml的方式只会对当前工程有效。本文建议大家使用第一种配置方式。
第一种配置镜像方式:
-
先找到你电脑上安装的maven目录
-
找到 settings.xml 文件 【maven安装目录 > conf目录 > settings.xml 文件】
-
打开 settings.xml 文件,在文件中找到 【 mirrors 】标签,然后再标签中插入阿里云的配: 如下
<mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror>
注意:我们写的这个mirror这对标签一定是要写在mirrors标签里面的。
-
生效确认:我们设置好settings.xml用阿里的镜像后,在项目里写了本地仓库没有的架包的坐标,然后在idea中点击右上角的更新,从下面的下载截图中可以看到下载的源已经改成阿里的镜像了,而且速度很快:
你要是没有配置镜像,然后你在项目的pom.xml中写你本地仓库没有的架包坐标,然后你执行刷新或者执行clear命令或者执行编译的命令,idea就会去外国的中央仓库下载,像下面这样,可以看到显示下载的地址为外国的中央仓库,而且速度很慢。
第二种配置镜像方式:
略