关于maven使用过程中无法导入依赖的一些总结

maven使用过程中无法导入依赖的一些总结

作为一名java开发的新手,在学习中难免遇见各种问题,在此总结一下。

在使用maven过程中总是碰见某些依赖导不进去的问题,本人使用的是idea2017、maven3.2版本,通过网上搜索和自己的经验归纳为一下几点:

1.settings.xml文件中远程仓库地址的设置

在maven仓库的配置文件中,一般设置远程仓库地址为阿里云的私服,国外的网站也可以就是比较慢,以下为阿里的镜像

   
     nexus-aliyun
     *
     Nexus aliyun
     http://maven.aliyun.com/nexus/content/groups/public
    

2.有些情况可能是仓库中的没有下载成功的文件导致的,需要清理仓库。

以下是我写的一个批处理程序用来清理仓库

@echo off
title 清理仓库未下载完成的文件
set REPOSITORY_PATH=E:\Program Files\maven3.2\apache-maven-3.2.3\repository
echo 正在搜索中.....
for /f "usebackq delims==" %%i in ('dir /s "%REPOSITORY_PATH%\*lastUpdated*"') do (
    del /s %%i
)
pause
rem REPOSITORY_PATH是你自己的仓库地址

3.可能是版本太低的bug,建议换一个更高版本的maven

我的解决办法是在idea中新建一个工程,再导入那些报错的依赖,手动导入一下就成功了

4.手动用maven命令导入

例如:

mvn install:install-file -Dfile=D:\spring-framework-4.3.13.RELEASE\libs\spring-test-4.3.13.RELEASE.jar -DgroupId=libs -DartifactId=spring-test -Dversion=4.3.13.RELEASE -Dpackaging=jar

这个命令就不细说了,网上有详细的说明 

maven不自动导入依赖问题

最近做项目时直接复制了别人的pom文件的内容,可是复制过来的Maven依赖一直爆红,不下载依赖。


     
        
        
          org.springframework.boot
          spring-boot-dependencies
          2.2.2.RELEASE
          pom
          import
        
    

因为之前没有学习过maven,都是直接复制依赖就可以用了,所以对maven的各种标签不是很熟悉。

开始以为是中央仓库太卡了下不动,所以找了各种办法,网上比较多的说法也是说使用aliyun的镜像仓库。后来我又是配置mirror,又是重下载新版本maven的。


  aliyunmaven
  *
  阿里云公共仓库
  https://maven.aliyun.com/repository/public

一顿操作后都不行.

最后还是不行最后发现根本就不是卡住下不动,而是连下载都没有开始,于是开始改标签。最终把dependencyManagement标签删掉后居然开始下载了。后面查了一下才发现dependencyManagement用于父工程管理依赖的,用于统一管理jar的版本,在父工程的时候只是用来声明,并不会下载,只有子工程要用到的时候才会去下载。而本地又没用这些依赖的jar版本,所以才会一直爆红。

解决办法

是将dependencyManagement标签去掉,jar包就会开始下载了,等下载完成后再加上dependencyManagement。

     
        
        
          org.springframework.boot
          spring-boot-dependencies
          2.2.2.RELEASE
          pom
          import
        
    

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。 

你可能感兴趣的:(关于maven使用过程中无法导入依赖的一些总结)