对于 idea 下的 maven 工程,特别是从其他地方导入的新工程,右边 maven 管理工具中 dependencies 若出现红色波浪线。通常用以下方式尝试解决。
1、
检查 repository 和 settings.xml文件中配置的仓库地址,File -->settings 输入maven,检查local repository的配置和settings.xml中配置的仓库地址。
2、
打开项目 pom.xml 文件,右键 maven -->reimport ,等待maven重新加载依赖。
3、
同上面 *** 作一样,可以同时对整个项目的所有pom.xml文件进行reimport。
打开编译器右边的maven管理工具,点击reimport all maven projects。
第二问题描述
若还是出现红色波浪线,则有极大可能是maven引用的jar包有版本冲突。
IntelliJ IDEA查找依赖关系,解决jar包冲突
maven工程,一个artifact的jar包可能不只一处被依赖;有时候依赖会出现相同的artifact却不同版本,相互存在冲突,这时就需要exclude某个版本。
解决办法
打开pom.xml文件,右键选择 diagrams -->show dependencies ,在这个关联图中可以看到所有包的所有依赖关系。
找到标有红线的包位置(通常可以结合 maven 管理工具中 dependencies 红线位置可以精准定位),点击该依赖包,可以看到与之有冲突的不同版本的包。这时exclude其中一个就好了。
注意: exclude其中一个的时候,注意查看 repository 中,是哪一个版本的包不存在,则exclude该版本。若是所依赖的版本都不存在,则需要单独添加该maven 包了。
第三问题描述
今天还遇到一种情况,依赖会出现红色波浪线。右边maven 管理工具中,点开出问题的包,会看到该包无法继续展开下一级,同时在左边项目的external libraries 中会找不到该出问题的包。
这种情况,查看repository相应版本包的依赖,可以看到该包只有.pom .sha1等文件,而没有jar包。这是一个错误的依赖包,而且通常靠第一种办法是无法解决的,并不能reimport解决。
解决办法
找一个网络好一点的地方,删掉repository中的该包所有相关文件,再在项目中reimport *** 作。
若是局域网的话,可以在外面下好后再拷贝进局域网repository中去。
但是。。。最后
但是这些jar在我本地的maven仓库中实际上是存在的,后来无意中修改了下pom才发现这有可能是IDEA的bug,解决办法是:
对于有波浪线的dependency,将其从pom中删除,保存后,再撤销回来,奇迹出现了。。。。。
链接:https://www.jianshu.com/p/45a609b2049f
1、从Maven官网下载Maven安装包,本文使用的Maven版本是Maven3.2.3,解压后文件目录如下:
2、进入conf/目录中,修改settings.xml文件中默认的依赖下载地址,即本地库,如图"D:/maven/repository"即是我的本地库地址。这样各个Maven项目下载的依赖包都会默认存放在这个路径下,以后如果有新的项目,需要相同的依赖,会先从该地址中查找,如果没有,再从远处网络库中下载。
3、配置Maven环境变量之前需要确保已安装好JDK和JRE,因为Maven依赖JRE环境,然后配置Path路径即可。
4、在cmd控制台中,输入mvn -v,查看Maven是否安装成功,。
5、至此Maven已安装完成。
三、Maven手动添加依赖
有时候我们在pom.xml中添加JAR包依赖,但是无法从远程库中下载下来或者网络环境不允许,这个时候就需要我们手动的添加到本地库中。点击上面远程库地址,以JBPM包为例。
点击“JBPM::BPMN2”,选择一个6.3.0.CR1版本
出现如下图所示内容,点击“Download”下载,或者无法下载的情况下从其他地方下载该版本JAR包,但是一定记住截图中框内依赖内容。
Maven 安装 JAR 包的命令是:mvn install:install-file -Dfile=本地jar包的位置 -DgroupId=上面的groupId -DartifactId=上面的artifactId -Dversion=上面的version -Dpackaging=jar
我下载的JAR包放在了D:\盘。进入cmd命令环境,输入:
至此,手动添加完成,此时在pom.xml文件中添加相应的依赖就可以使用该JAR包了。
四、Maven常用命令解释
mvn clean:清空输出目录(即 target 目录)
mvn compile:编译源代码
mvn package:生成构件包(一般为 jar 包或 war 包)
mvn install:将构件包安装到本地仓库
mvn deploy:将构件包部署到远程仓库
执行 Maven 命令需要注意的是:必须在 Maven 项目的根目录处执行,也就是当前目录下一定存在一个名为 pom.xml 的文件。
不自动搜索需要手动更新一下index。具体 *** 作步骤如下:
1、选择myeclipse->preferences->maven->installations
2、在d出的窗口中选择user setting 选项为:D:\m2\repository\settings.xml,并点击update settings。并点击下面的reindex按钮更新索引。
3、再次添加就会自动连接中央仓库搜索了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)