java - 如何将 Apache Archiva 设置为所有 Maven 项目的缓存?

标签 java spring apache maven archiva

我已经使用内部存储库设置了 Apache Archiva

http://localhost:8080/archiva/repository/internal/

但是当我尝试运行“mvncompile”时,对 Artifact 的请求被转发到 Apache Archiva,但我看到以下错误:

不可解析的父 POM:无法找到 Artifact org.springframework.cloud:spring-cloud-build:pom:1.2.0.BUILD-SNAPSHOT 且“parent.relativePath”指向无本地 POM @ 第 13 行第 10 列 -> [帮助 2]

我是否需要更新任何特定设置,以便 Archiva 可以从远程存储库获取所需的 Artifact ?

内容来自~/.m2/settings.xml

<?xml version="1.0"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0  https://maven.apache.org/xsd/settings-1.0.0.xsd">
  <localRepository>${user.home}/.m2/repository</localRepository>
  <interactiveMode/>
  <usePluginRegistry/>
  <offline/>
  <pluginGroups/>
  <servers/>
  <mirrors>
    <mirror>
      <id>internal</id>
      <name>Internal repo + cache </name>
      <url>http://localhost:8080/archiva/repository/internal/</url>
      <mirrorOf>*</mirrorOf>
    </mirror>
  </mirrors>
  <proxies/>
  <profiles>
      <profile>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <repositories>
            <repository>
              <id>internal</id>
              <name>Archiva Managed Internal Repository</name>
              <url>http://localhost:8080/archiva/repository/internal/</url>
              <releases>
                <enabled>true</enabled>
              </releases>
              <snapshots>
                <enabled>false</enabled>
              </snapshots>
            </repository>
            <repository>
              <id>snapshots</id>
              <name>Archiva Managed Internal Repository</name>
              <url>http://localhost:8080/archiva/repository/snapshots/</url>
              <releases>
                <enabled>false</enabled>
              </releases>
              <snapshots>
                <enabled>true</enabled>
              </snapshots>
            </repository>
        </repositories>
    </profile>
  </profiles>
  <activeProfiles/>
</settings>

最佳答案

据我所知,archiva 附带了在 Maven 中央存储库中搜索 Artifact 的默认配置。由于 Maven Central 不包含 Artifact 的快照版本,因此您无法从那里获取它。

尝试解决发布版本而不是快照问题。

关于java - 如何将 Apache Archiva 设置为所有 Maven 项目的缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41426111/

相关文章:

java - 无法使用 Java 和 JAXB 解码奇怪的 XML 格式

java - CSSOMParser 解析期间出错

java - Spring MVC - 动态错误处理页面

Apache proxyPassReverse 和 Websockets

node.js - 如何将 WordPress 博客添加到实时 Nodejs 应用程序?

java - 这个 Java 小部件的名称是什么?

java - 计算远程桌面应用程序的屏幕坐标

spring - 按类代理与按接口(interface)代理 (Spring) 相比有什么好处?

java - Spring Integration Java DSL 如何使用 Spel 进行服务激活器

java - 当文件名以 r 开头时,速度模板无法正确渲染