Я переношу проект из maven в bazel и получаю сообщение об ошибке - PullRequest
0 голосов
/ 29 января 2020

Я следую официальной документации bazel для перехода с maven на bazel и использую rules_jvm_external для определения внешних зависимостей в файле рабочей области и файле сборки. Но я получаю следующую ошибку:

C:/users/kunal_visoulia/_bazel_kunal_visoulia/3f5dzdsz/external/maven/BUILD:1212:1: in deps attribute of jvm_import rule @maven//:commons_digester_commons_digester: rule '@maven//:xml_apis_xml_apis' does not exist
ERROR: Analysis of target '//:everything' failed; build aborted: Analysis of target '@maven//:commons_digester_commons_digester' failed; build aborted
INFO: Elapsed time: 724.364s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (4 packages loaded, 371 targets configured)
    Fetching @remotejdk11_win; Restarting.

Я использую частное репозиторий Nexus, а также официальный репозиторий Maven. Пожалуйста, помогите

1 Ответ

0 голосов
/ 29 января 2020

Я успешно воспроизвел вашу ошибку и нашел следующий обходной путь:

  1. Добавьте xml-apis:xml-apis:1.4.01 и junit:junit-dep:4.9 в свой список артефактов.
  2. Добавьте атрибут version_conflict_policy = "pinned" в maven_install.

Причина root равна https://github.com/bazelbuild/rules_jvm_external/issues/250. Отсутствующие зависимости - это артефакты, перемещенные в новые координаты GAV, которые обработчик анализатора пока не может обработать. Общий обходной путь - вручную добавить устаревшие координаты GAV в maven_install.

В частности, xml -apis: xml -apis: 2.0.2 перемещен в xml -apis: xml -apis: 1.0.b2 (но 1.4.0.1 не был перемещен), а junit: junit-dep: 4.9 перемещен в junit: junit.

...