问题描述:由于在工程中始终导入不了外部仓库的某个jar包,并且外部仓库的链接地址也是可以通过浏览器打开。虽然可以通过CMD命令将下载好的jar包导入到本地仓库,但是如果以后团队开发中出现这样的问题通过这样的方式解决总归有些麻烦。所以今天化了些时间琢磨一下。
就比如我想要下载一个jar包
我现在的eclipse在pom文件中加入下面的依赖已经不能成功下载了(当然,你能成功下载当我没说)
<!-- https://mvnrepository.com/artifact/com.aspose/aspose-words -->
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words</artifactId>
<version>18.2</version>
</dependency>
此时,我们可以看到,该jar包所在的仓库地址在图片下方所示的
https://artifact.aspose.com/repo/
打开链接地址都可以看到里面各个版本的jar包。这不是重点,重点是怎么样使得eclipse能自动从这里下载。
pom文件里添加仓库地址信息,并把版本信息一起添加
<repositories>
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>AsposeJavaAPI</id>
<url>https://repository.aspose.com/repo/</url>
</pluginRepository>
</pluginRepositories>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words</artifactId>
<version>18.2</version>
<classifier>jdk16</classifier>
</dependency>
按理说此时应该是能够下载了,但是我的eclipse依然不能正常下载,而且我看了下progress信息,好像提示的好像不是从我提供的地址在下jar包,导致工程一直报错说找不到对应的jar包。网上搜了下资源,说修改maven安装目录下的setting.xml信息,好了,我修改了电脑安装maven目录下的setting.xml依然没有效果。此时我发觉我可能用的是eclipse自带的maven工具。然后找到了这个自带的默认的工具setting.xml(C盘C:\Users\Administrator下看到.m2文件夹,这是eclipse自带的maven默认的本地仓库。),修改后就没有问题了。
至于setting.xml具体的修改,主要是修改mirror标签内的东西,当你的mirror标签内不包含mirrorof只有*的时候,应该是没有问题的,但是当mirrorof中只有*,此时会又问题,默认会覆盖掉我们后面添加的仓库地址。
如果maven配置文件 settings.xml
中的 mirrorOf
配置为 *
, 需要修改该配置项, 使其能够从pom中添加的repository下载依赖, 否则不生效。如在*后面添加',!AsposeJavaAPI'。AsposeJavaAPI是我们添加到pom文件中的仓库id
此时,我的jar包就可以从指定的远程仓库下指定的jar包了。其他的远程仓库的jar可能一样的操作也可下下来。
总结:1,在pom.xml中正确填写依赖jar包的信息(包含仓库,依赖)。
2,正确修改setting.xml文件信息。要按照eclipse配置maven的路径去修改。用的是自带的,就去修改自带的,用的是安装的,就修改安装的。