Детали проекта преобразования Java в Maven - PullRequest
0 голосов
/ 03 ноября 2011

У меня есть проект Java с файлом сборки ant, с помощью этого файла ant я создаю ejb проекта и размещаю его на сервере jboss. Теперь я планирую использовать maven и преобразовать этот существующий проект, который состоит из почти 28-30 jar-ов в его пути к классам (jar-файлы, относящиеся к ejb3, hibernate, jboss и т. Д.). Я могу легко сделать это, используя eclipse, т.е. щелкните правой кнопкой мыши по проекту goto maven и выберите «Преобразовать в Maven». Создается файл pom.xml, а контейнер MavenClassPath также добавляется в проект.

Теперь я хочу узнать, как избавиться от присутствия этих 28-30 банок в папке lib проекта и в пути к классам. я хочу, чтобы мой pom.xml обрабатывал все зависимости. Предоставляет ли Maven какой-либо механизм для достижения этой цели при конвертации проекта, или я должен вручную добавить все эти зависимости jar по одной в файл pom.xml.

Намерение сделать это состоит в том, что я хочу иметь общий удаленный репозиторий maven, в котором будут храниться файлы jar, и каждая машина разработчика будет указывать на них через свой проект maven.

Спасибо

Ответы [ 2 ]

2 голосов
/ 03 ноября 2011

Я думаю, что вы ищете менеджера репозитория, такого как Nexus (я использую Nexus, он кажется самым популярным http://nexus.sonatype.org/).

Nexus может использоваться как:

  1. Хранилище прокси (для Maven Central и т. Д.)
  2. Хранилище для ваших собственных выпусков.

Nexus предоставляет пользователям управление пользователями для выпуска сборок в репозиторий.

Разработчики затем направят свой файл Maven settings.xml в ваш репозиторий Nexus, и все их зависимости будут поступать отсюда (Nexus будет их кэшировать).

Боюсь, вам придется настраивать зависимости индивидуально, но это хорошо, потому что вы должны обратить внимание на то, какие диапазоны версий вас интересуют для каждой зависимости.

Любые банки, которые невозможно найти в Maven Central и т. Д., Можно добавить в собственный репозиторий Nexus.

Конечно, есть альтернативы Nexus, но я не использовал их.

НТН

2 голосов
/ 03 ноября 2011

Самое важное, что я могу порекомендовать, - это использовать Maven Repository Manager (Nexus, Artifactory или Achiva или другие ...). Во-вторых, ваше преобразование пом через Eclipse показывает мне, что вы не используете ни современный Eclipse, ни современный плагин Maven для Eclipse. Лучше всего было бы использовать Eclipse-Indigo (m2e - самый новый и лучший). Кроме того, вы должны просмотреть все ваши фляги и шаг за шагом добавить их к себе (зависимости) и посмотреть, можно ли скомпилировать ваш проект. Это следует проверять в командной строке, а не внутри Eclipse. После того, как вы получили рабочий файл pom.xml, поместите его в свой контроль версий и проверьте, можете ли вы удалить некоторые из ваших добавленных зависимостей на основе транзитивных зависимостей. После этого вы можете наконец удалить папку lib.

...