问题描述
执行maven命令的时候报错,不能从中央仓库下载jar包回来,导致命令失败
$ mvn clean eclipse:clean eclipse:eclipse
....
Downloading: http://oss.sonatype.org/org/sonatype/oss/oss-parent/2/oss-parent-2.pom
178b downloaded (oss-parent-2.pom)
[WARNING] *** CHECKSUM FAILED - Checksum failed on download: local = '81ffbd1712afe8cdf138b570c0fc9934742c33c1'; remote = '<html>
<head><title>301' - RETRYING
Downloading: http://oss.sonatype.org/org/sonatype/oss/oss-parent/2/oss-parent-2.pom
178b downloaded (oss-parent-2.pom)
[WARNING] *** CHECKSUM FAILED - Checksum failed on download: local = '81ffbd1712afe8cdf138b570c0fc9934742c33c1'; remote = '<html>
<head><title>301' - IGNORING
[ERROR] An error occurred during dependency resolution of the following artifact:
com.ning:compress-lzf:0.6.0
Caused by: Unable to get dependency information: Unable to read the metadata file for artifact 'com.ning:compress-lzf:jar': Cannot find parent: org.sonatype.oss:oss-parent for project: com.ning:compress-lzf:bundle:0.6.0 for project com.ning:compress-lzf:bundle:0.6.0
com.ning:compress-lzf:jar:0.6.0
from the specified remote repositories:
central (http://xxx.com/mvn/repository),
snapshots (http://xxx.com/mvn/repository)
Path to dependency:
1)xxxx:xxx1:jar:2.0-SNAPSHOT
2) xxx:xxx2:jar:1.13.6
...
原因分析
从错误提示可以看出,问题出在下载oss-parent-2.pom这个包失败,导致后面对com.ning:compress-lzf:jar的解析失败,进而整个build受影响失败。
原因是maven官方不再维护maven2,而maven2项目在构建过程中,有可能需要sonatype.org域名下的文件,这些文件已经被移除,导致构建失败。
除了pom文件以外,还有一些sonatype.org域名下的插件也被移除。
解决方案
- copy相应文件到本地仓库
maven的设计体系里,本身就有本地仓库/中央仓库之分,只要本地仓库里存在,就不会再访问中央仓库或是官网。
找一下其它还在使用maven2的人(或者也可以到这里来下载),$M2_REPO/org/sonatype目录下的所有文件全部copy到本地仓库即可。
- 另一个更好的解决方案是,尽快升级maven3,^_^。
引用
此外,这个问题也暴露了maven2设计中的小问题,本地仓库/中央仓库模式已经设计的很棒了,如果把所有这些org.sonatype下的文件也都纳入中央仓库体系,就能避免这个问题啦。
分享到:
相关推荐
1. **项目对象模型 (Project Object Model, POM)**:POM是Maven的核心,它是项目配置的XML文件,包含了项目的基本信息,如项目名称、版本、开发者信息,以及依赖、构建目标等设置。 2. **依赖管理 (Dependency ...
《Mahout in Action源代码Maven编译JAR包详解》 Apache Mahout是一个流行的机器学习库,广泛用于数据挖掘和大数据分析。《Mahout in Action》这本书是Mahout技术的权威指南,提供了丰富的示例代码供读者实践。然而...
在这个“reportng源码(maven编译打包)”项目中,我们可以看到ReportNG的源代码,它是使用Maven构建系统进行管理的。Maven是一个广泛使用的Java项目管理和集成工具,它帮助开发者自动化构建、依赖管理和项目信息管理...
这样,在构建过程中,Maven将不会执行Rat插件的许可检查,从而避免了因许可问题而导致的编译失败。 以下是一些相关的Maven知识点: 1. **POM文件**:POM(Project Object Model)是Maven的核心概念,它是项目的元...
**正文** Maven 3.6.2 是一个流行的构建工具,主要用于管理Java项目的构建、...而提供的压缩包"apache-maven-3.6.3"包含了完整的Maven 3.6.2安装文件,你可以下载并按照官方文档进行安装,开始享受Maven带来的便利。
2. **编译代码**:Maven 的默认命令 `mvn compile` 可以自动编译 Java 源代码。 3. **运行测试**:使用 `mvn test` 命令可以运行项目的单元测试。 4. **打包**:使用 `mvn package` 命令可以将项目打包成 JAR 或 WAR...
这个压缩包通常包含了Maven的可执行文件、配置文件以及相关的文档。解压后,你可以将Maven的bin目录添加到系统的PATH环境变量中,以便于在命令行中直接运行Maven命令。 总的来说,Maven 3.0.5是一个对安全性有显著...
在这个例子中,我们设置了下载源码和Java文档的选项,这样在Eclipse中可以方便地查看源码和API文档。 然而,使用maven-eclipse-plugin的过程中,可能会遇到一些常见问题,如项目无法正确导入、编译错误或找不到依赖...
通过POM,Maven可以自动下载项目所需的库文件,执行构建任务,从而实现“约定优于配置”的原则。 二、Maven 3.5.0版本的特性 1. **依赖管理**:3.5.0版本改进了依赖解析算法,减少了依赖冲突,提高了构建速度。 2....
3. **网络问题**:下载依赖时网络不稳定可能导致下载失败。你可以尝试更换镜像源,例如使用阿里的Maven镜像,加快下载速度并提高稳定性。修改`settings.xml`中的`mirrors`配置即可。 4. **资源文件未被包含**:如果...
- 在Maven配置文件的`<build>`标签下,可以配置Maven的编译插件、打包插件等。 - 在IDEA的设置中(File->Settings->Build, Execution, Deployment->Build Tools->Maven),可以配置Maven的安装路径、用户设置文件...
然而,在使用Java8时,Maven的JavaDoc插件(maven-javadoc-plugin)对JavaDoc的语法检查变得更加严格,有时会因为一些小错误如缺少@param或@return注解而导致编译失败,这会严重影响项目的构建和部署流程。...
Maven 3.5.2对依赖管理和远程仓库通信进行了改进,减少了因网络问题导致的下载失败或重复下载的情况。 此外,Maven 3.5.2还包含了一套丰富的插件系统。这些插件用于执行各种构建任务,如编译、测试、打包、部署等。...
阿里云镜像仓库是中国地区访问速度较快的Maven中央仓库镜像,可有效解决由于网络问题导致的依赖下载缓慢或失败的问题。要使用阿里云镜像,需要在settings.xml文件中配置mirrors,将中央仓库的URL替换为阿里云的URL...
在使用Maven进行Java项目构建时,可能会遇到各种问题,这里主要探讨两个常见的错误情况:编码问题和远程仓库下载失败。 ### 1. Maven编码问题:“编码GBK的不可映射字符” 这个错误通常发生在使用中文操作系统(如...
1. **安装Maven**:下载Apache Maven 3.0的二进制包,解压并配置环境变量。 2. **创建项目**:使用`mvn archetype:create`命令生成项目结构。 3. **编辑POM.xml**:配置项目信息、依赖和插件。 4. **构建项目**:...
4. **插件 (Plugins)**:Maven使用插件执行特定的任务,如编译源代码、运行单元测试、打包JAR或WAR文件等。3.5.2版本对部分插件进行了优化,提升了执行效率。 **二、Eclipse 中的 Maven 集成** 1. **设置 Maven ...
通过POM,Maven 可以自动下载并管理项目所需的库文件,避免了手动管理jar包的繁琐工作。同时,Maven 使用标准的目录结构,使得项目易于理解和维护。 在压缩包"apache-maven-3.2.1"中,通常会包含以下组件: 1. `bin...
在使用Maven构建Kettle项目时,我们需要确保正确配置Maven的POM.xml文件,以包含所有必要的依赖项,这些依赖项通常是以jar包的形式存在。"Kettle Maven jar"标签提示我们,这里涉及的是Kettle与Maven结合使用时所需...