Maven — Не удалось разрешить артефакт — cglib: cglib-nodep: jar: null

#maven #cglib

#maven #cglib

Вопрос:

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

 [INFO] ------------------------------------------------------------------------
[INFO] Building Utilities
[INFO]    task-segment: [install]
[INFO] ------------------------------------------------------------------------
[INFO] [resources:resources]
[WARNING] Using platform encoding (Cp1255 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 16 resources
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Failed to resolve artifact.

Couldn't find a version in [2.2.2] to match range [2.1_3,2.1_3]
  cglib:cglib-nodep:jar:null

from the specified remote repositories:
  java.net (http://download.java.net/maven/2),
  internal (http://repo.some-project.org/maven),
  central (http://repo1.maven.org/maven2)

Path to dependency:
        1) org.some-project:util:jar:1.5.0
  

Я нашел и загрузил cglib-nodep-2.1_3.jar
Поскольку мне не хватает опыта работы с maven, я не уверен, как (hrr …) заставить процесс сборки использовать этот файл вместо сбоя при (я полагаю) извлечении его из Интернета.

Ответ №1:

Это работает, если вы помещаете в dependencyManagement раздел, вместо того чтобы помещать его в dependencies раздел.

 <dependencyManagement>
   <dependencies>
      <dependency>     
        <groupId>cglib</groupId>     
        <artifactId>cglib-nodep</artifactId>     
        <version>2.1_2</version> 
      </dependency>     
   </dependencies>
</dependencyManagement>
  

Все версии работают. Я получал ту же ошибку, когда помещал ее в dependencies раздел вместо dependencyManagement section. Вам не нужно этого делать
вручную.

Ответ №2:

В вашем pom.xml в dependencyManagement разделе добавить:

 <project>
 ...
 <dependencyManagement>
  <dependencies>
  ...
   <dependency>
    <groupId>cglib</groupId>
    <artifactId>cglib-nodep</artifactId>
    <version>2.1_3</version>
    </dependency>
  ....
  

Комментарии:

1. Если у вас его нет, просто добавьте его 🙂 Это должно быть где-то под элементом project.

2. Я добавил это — та же ошибка. по какой-то причине (я думаю) он находит только 2.2.2 онлайн, в то время как мне требуется 2.1_3

Ответ №3:

cglib версии 2.1_3 был удален из основного репозитория maven в пользу 2.2.2
Попробуйте обновить свою зависимость до 2.2.2 — кто знает, возможно, это сработает 🙂
Если этого не произойдет, загрузите 2.1_3 (например, отсюда) и вручную установите его локально.

Комментарии:

1. Вы уверены? Я могу это найти: search.maven.org/remotecontent ? путь к файлу=cglib/cglib-nodep/2.1_3/… В любом случае, если 2.2.2 работает для вас, это здорово 🙂

2. @Tarlog — Для меня из всех сотен зависимостей в проекте он последовательно не находил только эту

3. @Tarlog — 2.2.2 у меня не сработал, мне пришлось вручную установить 2.1_3 локально 🙂