Автогенерация помена Maven - PullRequest
0 голосов
/ 26 января 2011

Наш проект веб-приложения существует уже некоторое время (или, на самом деле, я должен сказать, что программисты, запустившие проект, были слишком заняты, чтобы искать новые вещи), и мы в значительной степени полагаемся на ant для наших сборок.Пока Ant крут, Maven круче.Итак, мы хотим начать его использовать.

Веб-приложение существует уже давно и имеет не менее 70-80 банок.Отображение координат мавена для каждой банки является болезненным.Есть ли способ автоматически сгенерировать maven pom (только раздел зависимостей), указав инструмент на текущий файл classpath?Есть ли такой инструмент

Ответы [ 2 ]

2 голосов
/ 29 января 2011

Чем старше ваш проект, тем сложнее определить старые версии модулей с открытым исходным кодом.

Что я сделал, так это использовал контрольную сумму файла jar в качестве ключа поиска в общедоступных репозиториях Nexus. Например, попробуйте следующий REST URL:

http://oss.sonatype.org/service/local/data_index?sha1=7999a63bfccbc7c247a9aea10d83d4272bd492c6

Возвращает следующий фрагмент ответа, идентифицирующий версию 1.2.16 модуля log4j:

<search-results>   
    <artifact>
      ..
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.16</version>
      ..
    </artifact> 
</search-results>

Конечно, этот подход поможет определить те банки, которые хранятся в Maven central, но это экономит время.

Надеюсь, это поможет, удачи!

1 голос
/ 26 января 2011

Maven поддерживает переходные зависимости.Если вы добавите все переходные зависимости в качестве прямых зависимостей, вы не будете в полной мере использовать maven, и будущие сопровождающие не будут вам благодарны, потому что обновление зависимости будет таким же трудным, как в ant, то есть версии переходных зависимостей должны бытьобновляется вручную.

Кроме того, обратите внимание, что 70 банок могут означать только дюжину или около того зависимостей, поэтому поиск правильных координат артефакта не должен иметь большого значения.(репозитории maven можно искать, вы знаете ...)

...