如何解决 pom 中过时的存储库信息?

How to resolve outdated repository informations in a pom?

我有一个遗留应用程序,我正在尝试使用 Maven 2 构建它。

构建当前失败并显示消息

Unable to get dependency information: Unable to read the metadata file for artifact 'com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:jar': Cannot find parent: org.sonatype.oss:oss-parent for project: com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:jar:1.2 for project com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:jar:1.2
  com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:jar:1.2

from the specified remote repositories:
  central (http://repo1.maven.org/maven2)

应用程序依赖于 concurrentlinkedhashmap 1.2。但是,此工件在其 pom.xml 中指定了以下内容:

  <parent>
    <groupId>org.sonatype.oss</groupId>
    <artifactId>oss-parent</artifactId>
    <version>3</version>
  </parent>
  ...
  <repositories>
    <repository>
      <id>sourceforge</id>
      <url>http://oss.sonatype.org/content/groups/sourceforge/</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>
    ...
  </repositories>

现在查看指定的存储库时,其中不包含依赖项。

但是父依赖项在 maven central 中可用。

我需要做什么,而不是从 maven central 下载依赖项?

如果工件现在包含在另一个仓库中,可以在 Maven 设置中定义 mirror 以将 Maven 指向现在包含工件的仓库。

<mirror>
  <id>sourceforge-mirror</id>
  <name>Sourceforge Mirror</name>
  <url>http://repo1.maven.org/maven2</url>
  <mirrorOf>sourceforge</mirrorOf>
</mirror>

但是,如果镜像的源包含一些工件,而镜像的目标不包含,这将不起作用。