以下内容纯属个人扯淡,仅供参考
说明:使用的是IDEA2019.3版本内嵌的插件,version=3.6.1,因此不需要专门下载一个maven软件到本地中。使用内嵌版有些不好的地方:只能是IDEA本身使用,eclipse每个版本也有自带的内嵌版maven,因此不同的开发工具,或同一开发工具但不同版本之间的内嵌maven版本就不一致,在这种情况下,最好为不同的开发工具设置不同的.setting.xml配置文件和本地仓库
目录
一、配置本地仓库、远程仓库
二、jar包无法下载到本地仓库
三、将本地jar包打入到本地maven仓库中
一、配置本地仓库、远程仓库
配置文件
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>D:/maven/idea_repository/Repository</localRepository>
<pluginGroups></pluginGroups>
<proxies></proxies>
<servers></servers>
<mirrors>
<!--
<mirror>
<id>springio</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://repo1.maven.org/maven2</url>
</mirror>
<mirror>
<id>nexus-osc</id>
<mirrorOf>*</mirrorOf>
<name>Nexus osc</name>
<url>http://maven.oschina.net/content/groups/public/</url>
</mirror>
-->
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
<profiles>
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
</profiles>
</settings>
该配置文件名为.settings.xml,其中<localRepository>中的路径就是本地仓库位置,<mirror>就是远程仓库位置
另外建议将该配置文件放置在D:/maven/idea_repository目录下,与本地仓库Repository目录同级,这样表示该仓库与其配置文件在一个目录下,方便查找;并且,可以再建一个D:/maven/eclipse_repository目录,存放另一个配置文件.settings.xml和仓库Repository,这样就在本地分别配置了两个本地仓库分别供IDEA、eclipse工具使用
二、jar包无法下载到本地仓库
1.问题描述
项目中需要使用
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc14</artifactId>
<version>10.2.0.3.0</version
</dependency>
但是maven install一直失败

该jar包无法在远程仓库中找到
2.一般解决办法
(1) 浏览远程仓库:mvnrepository、aliyun等远程仓库中心
(2) 搜索你需要的jar包及版本
缺点:恰好你需要的jar包版本在远程仓库中有。多重试几次install即可
3.另一种方法
(1)出现该问题后,你可以打开本地仓库该jar包所在目录,那么目录的内容会是这样的:此时,jar包文件没有下载到本地
但是,正常的应该是这样:
(2)手动下载jar文件
可以通过各种方式:百度、仓库服务、百度云等等,只要能拿到jar文件
(3)更改jar文件名
手动下载到的jar文件名可能是各种各样的,我们应该更改为按照生成的那些文件的"样子"
(4)清空ojdbc14/10.2.0.3.0这个文件夹的其他文件
注意:不清空直接maven install试试
(5)重新maven install即可
三、将本地jar包打入到本地maven仓库中
说明:这和上一个问题本质上是相同的,都是将我们手中已有的jar包,给与它一个本地仓库maven坐标。坐标是仅仅用于标识一个jar包文件的唯一性而已,maven能够根据坐标去找到唯一的一个jar包文件,它并不关系这个jar包本身是什么内容,你什么可以将一个任意文件命名为x.jar文件,然后打入到本地maven仓库中,内容只是决定着编译、运行时是否可用。
maven项目根据坐标,先去本地仓库中找,如果没找到时若设置了私服,则去私服仓库中找;若未设置私服,则去配置的远程仓库中找(默认远程仓库是repo1什么的)
准备好jar包文件,在其所在目录中执行以下命令
mvn install:install-file -Dfile=ojdbc8.jar -DgroupId=com.github.noraui -DartifactId=ojdbc8 -Dversion=12.2.0.1 -Dpackaging=jar
注意:建议为maven配置环境变量MAVEN_HOME,这样就可以在任意目录执行mvn命令被识别了,否则就只能在该命令所在目录下运行;-Dfile值为相对路径表示当前路径下的该文件名,它的目的是为了找到这个jar文件,不要使用wi10的PowerShell执行该命令,而是使用cmd(将jar包放在桌面上,打开cmd后默认是进入到用户目录,因此cd Desktop就进入到桌面了)
对应maven坐标
<dependency>
<groupId>com.github.noraui</groupId>
<artifactId>ojdbc8</artifactId>
<version>12.2.0.1</version>
</dependency>
四、多模块工程打包失败
现象:A依赖B,B依赖C,但C单独maven clean install成功后,对B执行该操作则失败
报错意思是说B的pom.xml的C这个依赖无法被找到,但实际上C是已打包成功的
解决办法:打包多模块项目时,应首先对父工程Maven install