解决Maven依赖本地仓库eclipse报错的问题
一、应用场景
有时候项目报红色的感叹号错误也是由于项目中没有导入相关jar报导致报错
为了使用maven强大的包依赖管理和项目管理功能,故在项目中使用maven2作为项目建构工具。
但是我的项目在内网构建,为了能使用maven2,只能使用本地仓库依赖策略。
但是,有时候明明本地仓库确确实实存在相应的依赖包,但是在eclipse环境下依然会报错,即:在pom.xml显示错误提示信息。
经过我的实践证明,可以通过如下方式解决。
二、示例讲解
以依赖commons-io-2.0.1为例讲解:
在pom.xml中配置:
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.0.1</version>
</dependency>
三、解决方案
1、 首先,从其他可以在外网下载相应依赖包的地方下载好相应的依赖包到本地仓库,再将该本地仓库拷贝到项目相应位置,便于引用。
2、安装Maven2并进行相应配置,关于Maven2具体安装和配置,略过。
注意:在Maven2的配置文件setting.xml一定要修改如下属性:
<offline>true</offline>
该属性配置默认为false,因为是在内网,无法到外网下载依赖包,所以一定要配置离线属性为true。
3、如果本地仓库确实存在该依赖包,且eclipse没有报错,那么在本地仓库中找到该依赖包所在的位置,相应目录下必定存在如下6个文件(不是非要全部存在):
_maven.repositories
commons-io-2.0.1.jar
commons-io-2.0.1.jar.sha1
commons-io-2.0.1.pom
commons-io-2.0.1.pom.sha1
m2e-lastUpdated.properties
图1 依赖配置正确且eclipse没有报错时依赖包目录下包含的文件
当然,如下载了源码的话,应该还包括如下2个文件:
commons-io-2.0.1-sources.jar
commons-io-2.0.1-sources.jar.sha1
所以,如果当本地仓库中确实存在相应的依赖jar包,但是在eclipse中依然报错的话,请进入到相应依赖包的目录位置,观察该目录下是否对应存在如图1所示的6个文件。
通常情况下,当在eclipse中报错的话,在依赖包目录下还存在一个“xxx.lastUpdated”文件。
如果确实存在“xxx.lastUpdated”文件的话,请先删除该文件。并确认是否存在如下2个文件:
_maven.repositories
m2e-lastUpdated.properties
通常在eclipse中报错的话,是不会存在这2个文件的,到别的依赖正确的jar包目录下去拷贝这2个文件到当前目录下,并修改相应内容:
(1)、 修改“_maven.repositories”内容:
#NOTE: This is an internal implementation file, its format can be changed without prior notice.
#Wed Jul 10 09:16:30 CST 2013
${artifactId}-${version}-sources.jar>nexus=
${artifactId}-${version}.jar>central=
${artifactId}-${version}.pom>central=
${artifactId}-${version}.pom>nexus=
${artifactId}-${version}.jar>nexus=
如:commons-io-2.0.1依赖包目录下的_maven.repositories文件内容如下:
#NOTE: This is an internal implementation file, its format can be changed without prior notice.
#Wed Jul 10 09:16:30 CST 2013
commons-io-2.0.1-sources.jar>nexus=
commons-io-2.0.1.jar>central=
commons-io-2.0.1.pom>central=
commons-io-2.0.1.pom>nexus=
commons-io-2.0.1.jar>nexus=
(2)、 m2e-lastUpdated.properties文件内容可以不用修改!
完成后,在eclipse中clean一下项目,并执行“Maven->Update Project...”,OK,问题解决!
欢迎添加微信

解决Maven依赖本地仓库eclipse报错的问题的更多相关文章
- 解决maven构建webapp index.jsp报错问题
今天早上想用maven 构建一个webapp 然后index.jsp华华丽丽的报错了 当时我的心情是一万头草泥马奔过啊,为啥你给我创建的webapp 还会报错啊!!!!!! 然后百度了一下,各种说少 ...
- 解决Maven项目中的无故报错的方法
解决Eclipse+maven中的无故报错 错误: One or more constraints have not been satisfied. Deployment Assembly跟java版 ...
- eclipse 报错Version 1.6.0_45 of the JVM is not suitable for this product. Version:1.7 or greater is required
最近离职来了一家新公司,之前的公司的开发IDE用的是IntelliJIDEA和SpringSourceToolSuit,自己在家里用的也是MyEclipse,所以使用eclipse的经验还是不足.结果 ...
- eclipse 创建maven 项目 动态web工程报错
Eclipse 创建maven 项目 动态web工程 注:Eclipse版本为(Version: Mars.1 Release (4.5.1))maven版本为(apache-maven-3.3.9) ...
- Maven项目下update maven后Eclipse报错:java.lang.ClassNotFoundException: ContextLoaderL
Maven项目下update maven后Eclipse报错:java.lang.ClassNotFoundException: ContextLoaderL 严重: Error config ...
- Maven项目下update maven后Eclipse报错
Maven项目下update maven后Eclipse报错:java.lang.ClassNotFoundException: ContextLoaderL 严重: Error config ...
- 在把webpack作为本地开发依赖安装的时候报错
在把webpack作为本地开发依赖安装的时候报错 Refusing to install webpack as a dependency of itself 原因是package.json里的name ...
- eclipse 如何修改maven插件本地仓库jar包默认存储位置
eclipse 如何修改maven插件本地仓库jar包默认存储位置 CreateTime--2018年4月18日11:04:47 Author:Marydon 1.更改eclipse的maven本 ...
- maven配置本地仓库、maven配置阿里中央仓库、eclipse配置maven
一.maven配置本地仓库路径 1.打开下载好的maven目录 (若没安装,可以看我写的安装步骤https://www.cnblogs.com/xjd-6/p/11344719.html) 2.进入c ...
随机推荐
- dubbo-本地直连
一.背景 目前项目是基于dubbo做为rpc,zk为注册中心实现多个微服务之间的远程服务调用.但需要本地联调dubbo接口时,需要绕过注册中心,达到不干扰线上服务,即只订阅不注册服务的目的. 二.实现 ...
- 使用Ajax和一般处理程序实现文件上传与下载
1.使用HTML的input标签 <input type="file" multiple="multiple" id="file_load&qu ...
- 模糊查询(附上源码和jquery-1.12.1.js,jquery-ui.js,jquery-ui.css)
直接上源码: <!doctype html> <html lang="en"> <head> <meta charset="ut ...
- 7.linux磁盘管理 分区 建立文件系统 挂载使用
一.磁盘管理 分区 建立文件系统 挂载使用 逻辑卷建立 磁盘阵列的建立 磁盘配额设定 fdisk -l 查看磁盘信息 df -Th 查看硬盘对应的 ...
- (转)MitmProxy+APPnium安装使用
MitmProxy+APPnium安装使用 2019年08月19日 11:09:48 jiageibuuuyi 阅读数 61更多 分类专栏: python学习笔记 版权声明:本文为博主原创文章,遵 ...
- Cesium中常用的一些地理数据文件 以及数据相关的东西
KML Cesium.KmlDataSource.load CZML Cesium.CzmlDataSource.load GeoJson Cesium.GeoJsonDataSource.load ...
- 手写一个MVVM
最近看了珠峰的架构课——实现一个MVVM. 首先,我们来了解一下什么是MVVM. MVVM是Model-View-ViewModel的简写.它本质上就是MVC 的改进版.MVVM 就是将其中的View ...
- Dubbo 2.6.0升级到2.7.3
dubbo依赖,修改groupId和升级version版本号 <dependency> <groupId>com.alibaba</groupId> <art ...
- JAVA关于静态static的面试题
JAVA关于静态static的面试题 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net ...
- [Java复习] 分布式事务 Part 2
分布式事务了解吗?如果解决分布式事务问题的? 面试官心里: 只要聊到你做了分布式系统,必问分布式事务,起码得知道有哪些方案,一般怎么来做,每个方案的优缺点是什么. 为什么要有分布式事务? 分布式事务实 ...