【问题标题】:maven settings.xml properties are not seen in pom在 pom 中看不到 maven settings.xml 属性
【发布时间】:2015-07-07 19:32:04
【问题描述】:

我在 settings.xml 中有以下配置

<profile>
<properties>
<nexus.host>http://localhost:8081/nexus/content/repositories</nexus.host>
</properties>
</profile>

此配置文件已设置为活动状态。

用于pom的分发管理部分

<distributionManagement>
        <snapshotRepository>
            <id>my-snapshots</id>
            <name>my snapshots</name>
            <url>${nexus.path}/snapshots</url>
        </snapshotRepository>
        <repository>
            <id>my-releases</id>
            <name>my releases</name>
            <url>${nexus.path}/releases</url>
        </repository>
    </distributionManagement>

这在我在本地机器上运行时有效,但是当在 jenkins 上执行作业时它失败了 org.apache.maven.project.ProjectBuildingException:处理 POM 时遇到一些问题:

[致命] 不可解析的父 POM:传输失败 com.myapp:sample:pom:1.1.0 来自 ${nexus.path}/releases 被缓存在 本地存储库,解析将不会重新尝试,直到 my-releases 的更新间隔已过或强制更新。 原始错误:无法传输工件 com.myapp:sample:pom:1.1.0 from/to my-releases (${nexus.path}/releases):无法访问 ${nexus.path}/releases 使用可用的连接器,类型为默认值 工厂:WagonRepositoryConnectorFactory 和 'parent.relativePath' 指向错误的本地 POM @ 第 3 行,第 13 列

无法确定错误原因

【问题讨论】:

    标签: java maven jenkins pom.xml


    【解决方案1】:

    我过去也遇到过同样的问题。要在 Jenkins 中解决此问题,您需要设置 Maven 参数,以便它可以找到您的 settings.xml 的位置。

    您需要在应用程序资源中包含 settings.xml,以便 Jenkins 可以找到它。

    设置参数(在 Jenkins 中,它应该在目标和选项下):

    -s src/main/resources/settings.xml
    

    但是在我的例子中,Jenkins 管理员提供了一个单独版本的 maven,因此应用程序将具有所需的 settings.xml,并且不需要提供我们自己的自定义 settings.xml。

    附带说明,您可能需要联系 Jenkins 管理员以确保他们已实施正确的配置,以便 Jenkins 能够将生成的工件部署到您指定的 id 下的存储库。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-29
      • 1970-01-01
      • 2012-05-30
      • 1970-01-01
      • 2021-08-19
      • 1970-01-01
      • 2012-12-22
      • 2012-03-31
      相关资源
      最近更新 更多