Добавление управления зависимостями в существующий проект Java - PullRequest
1 голос
/ 26 марта 2020

Я работаю над обновлением устаревшего проекта Java, чтобы он был совместим с jboss wildfly. В рамках этого процесса я заменяю нашу старую систему управления зависимостями (вручную проверяя jar-файлы в папке) на автоматизированную систему.

Моей первой мыслью было использование maven, который изначально хорошо работал. Плагин maven для eclipse смог отсканировать мой проект и создать pom с большинством необходимых зависимостей. Это прекрасно работает для компиляции и запуска с помощью eclipse, но при производственном развертывании используется скрипт сборки ant. Я посмотрел на maven-ant-resolver (https://maven.apache.org/resolver-ant-tasks/index.html), но, насколько я могу судить, у проекта нет способа добавить зависимости в путь к классам, лучшее, что он может сделать, это объединить их в баночка

Другой вариант, на который я смотрел, был Айви. Кажется, лучше подходит для интеграции с муравьем. К сожалению, инструменты для плюща кажутся примитивными по сравнению с Maven. Из того, что я могу сказать, нет возможности создать файл зависимости (ivy. xml) из существующего проекта. Учитывая количество зависимостей, с которыми я имею дело, особенно из jboss, создание зависимости xml с нуля не является реалистичным вариантом c.

Какие у меня есть варианты решения этой проблемы? Есть ли способ сделать то, что я хочу с мавеном или плющом, которого я не вижу? Есть ли другой инструмент управления зависимостями, который предлагает все необходимые мне функции?

1 Ответ

0 голосов
/ 28 марта 2020

maven-assembly-plugin - это то, что я могу порекомендовать для вероятных случаев использования. Хотя не уверен, подходит ли он вам.

В двух словах: вы можете упаковать папки, фляги, ресурсы, зависимости, что угодно в флягу для производственного развертывания. Этот jar упакован с внутренним модулем, из maven-assembly-plugin, и поэтому нет необходимости явно ссылаться на него, maven-archiver-plugin, который также хранит файл MANIFEST.MF с classpath в нем (не по умолчанию, но с несколькими кодами настройки).

Полезно знать: Maven позволяет довольно легко создавать собственные плагины, которые полностью выполняют то, что вы хотите. Если это просто файл с сохраненным classpath, это может быть чистым решением.

...