簡體   English   中英

在 Bazel 中,從私有 maven 存儲庫中獲取 jar 失敗並顯示 403

[英]In Bazel, fetching jar from private maven repository fails with 403

我正在嘗試使用 rules_jvm_external 使用 Bazel 構建一個簡單的 java 項目。 一些依賴項保存在私有 maven 存儲庫中。 我的 WORKSPACE 看起來像這樣:

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

RULES_JVM_EXTERNAL_TAG = "3.2"
RULES_JVM_EXTERNAL_SHA = "82262ff4223c5fda6fb7ff8bd63db8131b51b413d26eb49e3131037e79e324af"

http_archive(
    name = "rules_jvm_external",
    strip_prefix = "rules_jvm_external-%s" % RULES_JVM_EXTERNAL_TAG,
    sha256 = RULES_JVM_EXTERNAL_SHA,
    url = "https://github.com/bazelbuild/rules_jvm_external/archive/%s.zip" % RULES_JVM_EXTERNAL_TAG,
)

load("@rules_jvm_external//:defs.bzl", "maven_install")

maven_install(
    name = "maven_deps",
    artifacts = [
        "org.projectlombok:lombok:1.18.12",
        "mygroup:myartifact:version"
    ],
    repositories = [
        "https://repo1.maven.org/maven2",
        "https://username:password@my.repo.io/artifactory/repo",
    ],
)

我的構建看起來像這樣:

java_library(
    name = "mylib",
    srcs = glob([
        "proj/src/main/java/**/*.java"
    ]),
    deps = [
        "@maven_deps//:org_projectlombok_lombok",
        "@maven_deps//:mygroup_myartifact",
    ],
)

當我運行bazel build //:mylib時,從私有 maven 存儲庫中獲取 mygroup:myartifact:version 失敗,錯誤代碼為 http 403。為簡單起見,我對用戶名和密碼進行了硬編碼。 使用的用戶名是 email 所以我對其進行了編碼,例如: me%40gmail.com 我正在使用 bazel 版本 3.1.0。 通過環境變量傳遞用戶名和密碼產生了同樣的錯誤。 使用 curl 獲取相同的 jar 效果很好:

curl -O 'https://me%40gmail:PASSWORD@my.repo.io/artifactory/repo/mygroup/myartifcat-version.jar'

任何人都可以看到問題是什么? 先感謝您!

如果我沒記錯的話,來自rules_jvm_external maven_install Coursera Coursier * 來獲取依賴項。 在我工作的地方,我們依賴一個屬性文件,其中包含您操作系統正確位置的憑據。

嘗試設置這個:

simple.username=<username>
simple.password=<password>
simple.host=my.repo.io

/.config/coursier/credentials.properties (如果您在 Linux 上)或 OS X 上的~/Library/Preferences/Coursier/credentials.properties中。

(*) https://github.com/bazelbuild/rules_jvm_external/blob/master/docs/api.md確實提到了 Coursier

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM