java Maven无法从artifactory中找到父pom,即使它存在

7kqas0il  于 2023-06-04  发布在  Java
关注(0)|答案(1)|浏览(173)

我有一个简单的maven亲子项目。父pom位于它自己的项目上。该项目已经过测试,其中有一个试用的artifactory maven repo autoconfig。在那里工作顺利。不幸的是,我们的企业artifactory没有自动配置和仓库是手动创建的。
Maven在父节点上的部署工作正常。子对象上的部署在企业工件中失败,因为它找不到父对象。发布和快照存储库均存在此问题。Maven确实搜索了repo,文件位置看起来很好(curl到位置返回pom,如果我把url放在浏览器中,文件就会被下载)。为什么maven不能下载它?这是一个auth问题吗?任何帮助将不胜感激。谢谢
错误

我可以用下面的pom来模拟这个问题
家长

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

    <modelVersion>4.0.0</modelVersion>
    <groupId>org.xyzCompany</groupId>
    <artifactId>test-parent</artifactId>
    <version>0.0.1</version>
    <packaging>pom</packaging>
    <name>parent-pom</name>
    <description>Parent POM</description>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
                <version>2.8.2</version>
            </plugin>
        </plugins>
    </build>
        <distributionManagement>
        <snapshotRepository>
            <id>snapshots</id>
            <name>artifactory-snapshots</name>
            <url>https://hidden.jfrog.io/artifactory/busy-libs-snapshot-local</url>
        </snapshotRepository>
        <repository>
            <id>central</id>
            <name>artifactory-release</name>
            <url>https://hidden.jfrog.io/artifactory/busy-libs-release-local</url>
        </repository>
    </distributionManagement>

</project>

孩子

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.xyzCompany</groupId>
    <artifactId>test-child</artifactId>
    <version>1.0.0</version>
    <packaging>mule-application</packaging>

    <name>salesforce-data-migration</name>
    <parent>
        <groupId>org.xyzCompany</groupId>
        <artifactId>test-parent</artifactId>
        <version>0.0.1</version>
    </parent>

    <build>
        <plugins>
            <plugin>
              <artifactId>maven-release-plugin</artifactId>
              <configuration>
                    <useReleaseProfile>false</useReleaseProfile>
              </configuration>
        </plugin>
        </plugins>
    </build>
    
    <dependencies>
        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>42.6.0</version>
        </dependency>
    </dependencies>
        
</project>

设置

调试日志中也没有什么内容。请注意,busy-libs-release是一个虚拟repo,它反映了busy-libs-release-local的内容。我无法写入虚拟存储库。因此,写入busy-libs-release-local并从busy-libs-release读取。直接从busy-libs-release-local阅读也有同样的问题。

ia2d9nvy

ia2d9nvy1#

该问题已通过以下方式解决
Artifactory: file not found by Maven if anonymous access is allowed
使用抢占式身份验证似乎解决了这个问题

<server>
          <configuration>
            <httpConfiguration>
              <all>
                <usePreemptive>true</usePreemptive>
              </all>
            </httpConfiguration>
          </configuration>
          <username>{username}</username>
          <password>{password}</password>
          <id>central</id>
        </server>

相关问题