Я конвертирую сборку с 71 .jar
файлом в глобальном lib/
каталоге для использования Maven. Конечно, они были извлечены из Интернета многими разработчиками за последние десять лет истории этого проекта и не всегда добавлялись в VCS со всей необходимой информацией о версиях и т. Д.
Есть ли простой автоматизированный способ перехода от этого набора .jar
файлов к соответствующим <dependency/>
элементам для использования в моих pom.xml
файлах? Я надеюсь на веб-страницу, где я могу отправить контрольную сумму файла jar и получить обратно фрагмент XML. Поисковые запросы Google для поиска в репозитории maven в основном просто находят поиск по имени. Насколько я понимаю, на http://repo1.maven.org/ вообще нет поиска.
Обновление: GrepCode похоже, что он может находить проекты с контрольной суммой MD5. Но он не предоставляет конкретных деталей (groupId
, artifactId
), которые нужны Maven.
Вот сценарий, который я придумал на основе принятого ответа:
#!/bin/bash
for f in *.jar; do
s=`md5sum $f | cut -d ' ' -f 1`;
p=`wget -q -O - "http://www.jarvana.com/jarvana/search?search_type=content&content=${s}&filterContent=digest" | grep inspect-pom | cut -d \" -f 4`;
pj="http://www.jarvana.com${p}";
rm -f tmp;
wget -q -O tmp "$pj";
g=`grep groupId tmp | head -n 1 | cut -d \> -f 3 | cut -d \< -f 1`;
a=`grep artifactId tmp | head -n 1 | cut -d \> -f 3 | cut -d \< -f 1`;
v=`grep version tmp | head -n 1 | cut -d \> -f 3 | cut -d \< -f 1`;
rm -f tmp;
echo '<dependency> <!--' $f $s $pj '-->';
echo " <groupId>$g</groupId>";
echo " <artifactId>$a</artifactId>";
echo " <version>$v</version>";
echo "</dependency>";
echo;
done