2016-04-15 2 views
1

Я работаю над проектом java, который создается с использованием maven. Проект имеет несколько зависимостей, я ищу способ упаковки моего проекта на две банки - одну для реальных классов проектов, а другую для всех зависимостей вместе.maven dependencies-only jar

Я искал и нашел о плагине maven shade, который может создать единую банку с зависимостями. Итак, в качестве обходного пути я создал еще один модуль без источников и связал мой pom с этим модулем - затем, используя плагин shadow, я могу создать одну банку со всеми моими зависимостями. Но это похоже на неправильный путь, есть ли лучший способ?

+3

Вы можете сделать то же самое с проектом с несколькими модулями (а не с двумя проектами). – vikingsteve

+0

@vikingsteve, конечно - это то, что я сделал, когда я сказал 2 проекта, я имел в виду два модуля - я обновлю свой вопрос. Он все еще чувствует себя немного хакерским, хотя .. – bennyl

+0

Он чувствует себя взломанным, потому что это почти так. Но ... почему ты придерживаешься такого подхода? Вы вынуждены или решили? Если вы объясните больше о том, почему * это организовано таким образом, возможно, мы можем предложить альтернативу – vikingsteve

ответ

0

заказ Maven сборки плагин здесь http://maven.apache.org/plugins/maven-assembly-plugin/
Вы можете умудрились зависимость установить в описателе сборки.
И да, предложение @ vikingsteve также является правильным.

+0

Я, вероятно, пропустил его, но где он говорит, что он позволяет в дескрипторе установить, что все зависимости, необходимые для проекта, упакованы в отдельный файл jar, а не в основной проект? – Draken

+0

@Shubham Chaurasia, можете ли вы рассказать о том, как достичь того, что я хочу, используя плагин сборки? Я посмотрел документацию и не нашел соответствующих деталей. Спасибо. – bennyl