如何解决Maven依赖本地仓库eclipse报错的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何解决Maven依赖本地仓库eclipse报错的问题相关的知识,希望对你有一定的参考价值。

一、应用场景



为了使用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




依赖配置正确且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,问题解决!

参考技术A 看看报什么错啊,要把错误贴出来才能“对症下药”的 参考技术B 一、应用场景

为了使用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,问题解决!

转载仅供参考,版权属于原作者。祝你愉快,满意请采纳哦本回答被提问者和网友采纳
参考技术C clean install 一下你的工程

解决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报错的问题的主要内容,如果未能解决你的问题,请参考以下文章

本地仓库有jar包maven依然报错的原因

MAVEN本地仓库配置好了,但是依赖却报错了

解决maven本地仓库有jar包但是还会打包报错的问题

解决maven本地仓库有jar包但是还会打包报错的问题

解决maven本地仓库有jar包但是还会打包报错的问题

解决maven本地仓库有jar包但是还会打包报错的问题