снимок метаданных классификатора артефактов maven 3.0 - PullRequest
2 голосов
/ 30 сентября 2011

Моя проблема "простая", но я до сих пор не нашел решения:

У меня есть 2 проекта.

  • Проект A построен с классификатором (называемый dev или pro) с помощью определенного профиля
  • Проект Bс зависимостью к A (с использованием классификатора dev или pro)

  • Я выполняю установить цель на A с классификатором ( dev)

  • I повторно выполнить установить цель с другим классификатором ( pro )

Затем я скомпилируюПроект B (и я ставлю зависимость A, с классификатором DEV)

Работает хорошо.


Но когда я делаю то же самое с артефакт (цель развертывания), не работает (а хранилище настроено «уникально»)

не работает, потому что артефакт?Maven зависимость? пытается загрузить A с классификатором dev AND последняя отметка времени, номер сборки любого типа .

Но эта "логика" неверна, поскольку последняя отметка времени действительна для классификатора Apro !!!

Я прочитал metadata.xml между локальным хранилищем и хранилищем артефактов.Есть похожие (но не совсем одинаковые)

Что я не прав?Спасибо, ребята!

  • Maven версия: 3.03
  • Artifactory версия: 2.3.4.1

1 Ответ

5 голосов
/ 02 октября 2011

Это может быть связано с тем, что во время написания этого ответа Artifactory генерирует метаданные типа Maven 2, которые в отличие от более нового типа, генерируемого Maven 3, не определяют отдельную «последнюю версию» для классификатора\ type Artifact.

То есть, в то время как метаданные Maven 2 определяют последнюю сборку и известную историю:

<?xml version="1.0" encoding="UTF-8"?>
    <metadata>
      <groupId>org.jfrog.test</groupId>
      <artifactId>multi1</artifactId>
      <version>2.1-SNAPSHOT</version>
      <versioning>
        <snapshot>
          <timestamp>20110928.112713</timestamp>
          <buildNumber>14</buildNumber>
        </snapshot>
        <lastUpdated>20110928112718</lastUpdated>
      </versioning>
    </metadata>

Maven 3 указывает последнюю сборку для каждого типа артефакта и классификатора:

<?xml version="1.0" encoding="UTF-8"?>
<metadata>
  <groupId>org.jfrog.test</groupId>
  <artifactId>multi1</artifactId>
  <version>2.1-SNAPSHOT</version>
  <versioning>
    <snapshot>
      <timestamp>20110928.112713</timestamp>
      <buildNumber>14</buildNumber>
    </snapshot>
    <lastUpdated>20110928112718</lastUpdated>
    <snapshotVersions>
      <snapshotVersion>
        <classifier>tests</classifier>
        <extension>jar</extension>
        <value>2.1-20110928.112713-14</value>
        <updated>20110928112713</updated>
      </snapshotVersion>
      <snapshotVersion>
        <extension>pom</extension>
        <value>2.1-20110928.112713-14</value>
        <updated>20110928112713</updated>
      </snapshotVersion>
      ...
    </snapshotVersions>
  </versioning>
</metadata>

Поддержка генерации метаданных Maven 3 в настоящее время планируется для следующей версии Artifactory (2.3.5).До тех пор я могу только предложить, чтобы вы создали оба артефакта с разными идентификаторами артефактов.

...