首页 > 解决方案 > Dspace 6.3 Solr Webapp 构建错误 org.restlet.jee - 镜像被阻止

问题描述

我已经在 Docker 中成功构建 DSpace 6.3 大约 4 个月了。今天我遇到了一个构建错误,谷歌搜索似乎无济于事。

    #9 43.60 [INFO] ------------------------------------------------------------------------
    #9 43.60 [INFO] Reactor Summary for DSpace Assembly and Configuration 6.3:
    #9 43.60 [INFO]
    #9 43.60 [INFO] DSpace Addon Modules ............................... SUCCESS [  0.673 s]
    #9 43.60 [INFO] UTS Library DSpace copyright ....................... SUCCESS [  3.754 s]
    #9 43.60 [INFO] DSpace Kernel :: Additions and Local Customizations  SUCCESS [  1.287 s]
    #9 43.60 [INFO] UTS Library DSpace taglib .......................... SUCCESS [  0.239 s]
    #9 43.60 [INFO] DSpace JSP-UI :: Local Customizations .............. SUCCESS [ 10.128 s]
    #9 43.61 [INFO] DSpace REST :: Local Customizations ................ SUCCESS [  7.058 s]
    #9 43.61 [INFO] DSpace SWORD v2 :: Local Customizations ............ SUCCESS [ 17.577 s]
    #9 43.61 [INFO] Apache Solr Webapp ................................. FAILURE [  0.214 s]
    #9 43.61 [INFO] DSpace OAI-PMH :: Local Customizations ............. SKIPPED
    #9 43.61 [INFO] DSpace Assembly and Configuration .................. SKIPPED
    #9 43.61 [INFO] ------------------------------------------------------------------------
    #9 43.61 [INFO] BUILD FAILURE
    #9 43.61 [INFO] ------------------------------------------------------------------------
    #9 43.61 [INFO] Total time:  41.269 s
    #9 43.61 [INFO] Finished at: 2021-04-06T02:47:50Z
    #9 43.61 [INFO] ------------------------------------------------------------------------
    #9 43.61 [ERROR] Failed to execute goal on project dspace-solr: Could not resolve dependencies for
 project org.dspace:dspace-solr:war:6.3: Failed to collect dependencies at org.apache.solr:solr-
core:jar:4.10.4 -> org.restlet.jee:org.restlet:jar:2.1.1: Failed to read artifact descriptor for 
org.restlet.jee:org.restlet:jar:2.1.1: Could not transfer artifact org.restlet.jee:org.restlet:pom:2.1.1 
from/to maven-default-http-blocker (http://0.0.0.0/): Blocked mirror for repositories: [maven-snapshots 
(http://oss.sonatype.org/content/repositories/snapshots, default, snapshots), maven-restlet 
(http://maven.restlet.org, default, releases+snapshots), apache.snapshots 
(http://repository.apache.org/snapshots, default, disabled)] -> [Help 1]
    #9 43.61 [ERROR]

正如错误消息所说,它是该 jar 文件org.restlet.jee的依赖项org.apache.solr.core-services solr-core-4.10.4.jar并列在该 jarpom文件中。据我所知,这似乎是 pom 文件的 maven 级联中唯一对它的引用。

我以前没有遇到过这个“Blocked mirror for repositories”错误,而且“maven”Blocked mirror for repositories”的谷歌特别没有帮助。据推测,注册此依赖项的存储库以某种方式将自己列入了黑名单。

我尝试将依赖项手动添加到 DSpace Solrpom.xml文件中,但这不起作用。有谁知道一种解决方法,或者是否需要向 Apache Solr 团队提出修复它的请求?

标签: mavensolrdspace

解决方案


上周发布的 Maven 版本 3.81 不再接受 http:// 仓库,只接受 https:// - https://www.reddit.com/r/java/comments/mk462r/apache_maven_version_381_released/

错误信息的一部分:

Could not transfer artifact org.restlet.jee:org.restlet:pom:2.1.1 
from/to maven-default-http-blocker (http://0.0.0.0/): Blocked mirror for repositories

表示 0.0.0.0(即所有 IP)被阻止用于 http。该消息有点神秘。你会认为程序员本可以提供一些更有帮助的东西。

我们用来构建的 Docker 镜像是maven:3-jdk-8几天前更新到 Maven 3.81 的。所以,一旦 Docker 更新了它的镜像,我们就不能再访问 http:// 存储库了。我们将 Maven Docker 映像更改为以前的版本3.6-jdk-8- 并且 DSpace 6.3 构建良好。

毫无疑问,有一种方法可以覆盖 Maven 3.81 中的默认行为,但我们现在可以使用旧版本。


推荐阅读