Что Maven подразумевает под: «Не удалось получить целевое имя файла зависимости» - PullRequest
1 голос
/ 23 июля 2010

При поиске WAR я гуглил следующее предупреждение, но не могу найти объяснение:

[WARNING] Could not retrieve the target file name of dependency [Dependency {groupId=org.company.xml.jaxbtypes, artifactId=iJaxbtypes, version=1.0.2-SNAPSHOT, type=jar}]

Зависимость разрешена, и все работает, как и ожидалось, но WEB-INF / lib содержит:

  • iJaxbtypes-1.0.2-20100721.170712-1

Если я не запускаю чистую, у меня теперь есть:

  • iJaxbtypes-1.0.2-20100721.170712-1
  • iJaxbtypes-1.0.2-20100721.170712-6

Это потому, что это зависимость SNAPSHOT?Я использую Maven уже пару лет, но с этим не сталкивался.

1 Ответ

0 голосов
/ 23 июля 2010

При использовании зависимости SNAPSHOT Maven будет искать в удаленном репозитории groupId/artifactId/version/maven-metadata.xml, который обычно выглядит следующим образом:

<?xml version="1.0" encoding="UTF-8"?>
<metadata>
  <groupId>org.sonatype.nexus</groupId>
  <artifactId>nexus</artifactId>
  <version>1.4.2-SNAPSHOT</version>
  <versioning>
    <snapshot>
      <timestamp>20091214.221414</timestamp>
      <buildNumber>13</buildNumber>
    </snapshot>
    <lastUpdated>20091214221558</lastUpdated>
  </versioning>
</metadata>

Этот файл используется Maven, чтобы понять, что является последним файлом артефакта снимка.

Я полагаю, что у вас нет метаданных для вашего артефакта iJaxbtypes или они повреждены, и Maven не может правильно обработать SNAPSHOT и загружать последний файл каждый раз, не переименовывая его.

Проверьте удаленный репозиторий на maven-metadata.xml и, возможно, также процедуру развертывания. Если все выглядит хорошо, попробуйте удалить объединенные метаданные из вашего локального репозитория.

Смотри также

...