我用Eclipse开发Maven项目,本来好好的,但是后来导入一个新的Maven项目,莫名其妙的其中pom.xml文件报错,后来执行install命令时又编译不通过报错。
maven报错:
错误截图如下图:
报错如下:
Could not transfer artifact org.slf4j:slf4j-api:jar:1.6.4 from/to central
(https://repo.maven.apache.org/maven2): Received fatal alert: protocol_version
org.eclipse.aether.transfer.ArtifactTransferException: Could not transfer artifact
org.slf4j:slf4j-api:jar:1.6.4 from/to central (https://repo.maven.apache.org/maven2): Received fatal alert: protocol_version
at io.takari.aether.connector.AetherRepositoryConnector$2.wrap(AetherRepositoryConnector.java:895)
今天遇到这么个异常。说在仓库中找不到slf4j-api.jar这个依赖,找了好半天,最后终于发现问题的原因。
解决方案:查找本地仓库,发现,本地仓库是有这个文件夹的,但文件的内容却是:
是这个jar并不是我程序中要依赖的jar文件。然后我又和正常的依赖包对比:
这两个文件一对比,我发现可能问题的原因就在这里,于是我将这三个文件:m2e-lastUpdated.properties、slf4j-api-1.6.4.jar.lastUpdated、slf4j-api-1.6.4-sources.jar.lastUpdated 删除掉。然后maven就可以正常的从私有仓库下载了。
网上查了一下原因,是这样说的: