一、问题描述
从版本库中check out项目后,发现项目有“感叹号”,且pom.xml文件有红色的“差号”。如下图:
在error window里可以看到missing jar包的提示,如下:
打开项目的configuration build path选项,到libararies选项卡下,可以看到有jar前面有红色的差号,表示丢失或找不到,如下:
二、解决
到maven的库中,找到对应的文件夹下,查看对应的jar包是否已经下载到目录下。
myecilpse提示我如下jar包丢失:
到相应目录下找到:
如果jar包不存在,或者有lastUpdated文件,说明没有从远程仓库中下载成功,很有可能是网络或者远程服务器的问题,这时解决方法有二:
1.把该文件夹下的.lastUpdated文件删除掉,然后点击项目右键,update dependency,下,然后再看该文件夹下是否将jar包下载了下来。
2.从网上下载对应的jar,然后扔到maven仓库的对应目录里,再点击项目右键,update dependency。
以上两个方法执行过程中,都可能出现,jar包已经下载了下来,但是同时存在lastUpdated文件,此时,你需要将该lastUpdated文件删除掉,然后点击项目右键,update dependency下,直到在build path中不再出现该jar包丢失的提示。
此处推荐一个工具:everything,输入.last会查找出所有的以.lastUpdated结尾的文件,如果都是maven库下的那么可以全部删掉,然后直接update dependency。
三、maven配置
有很多文章都有maven安装的方法,同jdk一样,配置环境变量就可以了。此处说下myecilpse中maven的配置,在eclipse和idea中的配置相似,均可类推。
maven配置在myeclipse->window->preferences中。
1、myeclipse其实内置了maven的插件,你本地不安装maven也可以直接使用,此时你不需要修改maven的相关配置,只需使用默认配置,即可完成jar包的存储。它会在你的用户文件夹下创建对应的仓库和配置文件。
2、如果你本地已经有了maven仓库,那么你就可以指定本地的maven库及配置文件,如上图所示
其中,配置文件内容只需要:
<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:\install\other\apache-maven-3.2.3\repository</localRepository>
</settings>
告诉maven你的本地仓库在什么地方即可。