Gradle Build失败,Ivy软件包出现401

11dmarpk  于 6个月前  发布在  其他
关注(0)|答案(1)|浏览(67)

我已经迁移到了一些需要凭据的artifactory。对于我所有需要凭据的模块,我已经将凭据添加到build.gradle文件中,如下所示:

repositories {
  maven {
    url 'https://myhost.jfrog.io/artifactory/proj'
    credentials {
      username = "${artifactory_user}"
      password = "${artifactory_password}"
    }
  }
}

字符串
在整个构建过程中,每次出现401错误时,将上述内容添加到相应的build.gradle文件中即可正常工作。但出于某种原因,当在我的一个项目中进行节点设置时,让我们称之为“foo”,当尝试访问节点包时,我会遇到401错误。检查artifactory后,这是一个Ivy包。
我已经在JFrog中为这个包创建了一个身份令牌,就像我为其他包创建的一样,但是我在构建时仍然收到同样的错误。我已经尝试使用我创建的所有令牌,并将用户和密码硬编码到build.gradle中,以确保传递正确的值..但是我无法传递这个401错误..当我遇到Ivy repo时,我做错了什么吗?其他人都是内行。
foo build.gradle中的当前设置:

apply from: '../gradle/sharedProperties.gradle'

repositories {
  ivy {
    url 'https://myhost.jfrog.io/artifactory/ivy'
    credentials {
      username = "${artifactory_user}"
      password = "${artifactory_password}"
    }
  }
}

// Tells the node plugin & tasks to get dependencies from artifactory
node { distBaseUrl = 'https://myhost.jfrog.io/artifactory/ivy' }
tasks.withType(NodeTask) { args += ['--registry', 'https://myhost.jfrog.io/artifactory/api/npm/npm/'] }
tasks.withType(NpmTask) { args += ['--registry', 'https://myhost.jfrog.io/artifactory/api/npm/npm/'] }


错误为:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':foo:nodeSetup'.
> Could not resolve all files for configuration ':foo:detachedConfiguration1'.
   > Could not resolve org.nodejs:node:14.17.6.
     Required by:
         project :foo
      > Could not resolve org.nodejs:node:14.17.6.
         > Could not get resource 'https://myhost.jfrog.io/artifactory/ivy/v14.17.6/node-v14.17.6-win-x64.zip'.
            > Could not HEAD 'https://myhost.jfrog.io/artifactory/ivy/v14.17.6/node-v14.17.6-win-x64.zip'. Received status code 401 from server:

svdrlsy4

svdrlsy41#

看来Ivy仓库必须以不同的方式传递凭据。我将此添加到build.gradle文件中,并且成功。

project.repositories.whenObjectAdded {
  if (it instanceof IvyArtifactRepository) {
    it.authentication {
      basic(BasicAuthentication)
    }
    it.credentials {
      username "user"
      password "pass"
    }
  }
}

字符串

相关问题