Поместите зависимости в корневую папку lib

У меня есть EJB/Web-проект, который я создал с помощью NetBeans. Я создал проект с NetBeans, чтобы у нас был быстрый рабочий прототип. Теперь я конвертирую это в Gradle. Я использую ушной плагин и мою структуру

-root
|-- ejb.jar
|-- web.war

строит. Мои зависимости определены в файле build.gradle в каждом подпроекте (ejb и web). Теперь я хочу, чтобы мои зависимости находились в папке ear / lib, а не разбивались по папкам ejb / lib и web / lib. Я знаю концепцию зависимостей earlib, но я чувствую, что мне не нужно указывать это в моем проекте web и ejb. Нужно ли писать задачу муравья, чтобы сделать это, или есть элегантный способ. Я пытаюсь представить, как netbeans строит войну как можно лучше.

1 ответ

Решение

Правильное решение заключается в управлении областью ваших зависимостей.

В проекте jar зависимости помещаются в область компиляции, это нормально, потому что jar не добавляет зависимости при упаковке

В военном проекте зависимости помещаются в область предусмотренной компиляции. Это позволяет мне компилировать мою войну, но не упаковывать мои библиотеки.

В моем корне моего проекта у меня есть файл сборки уха. В этом файле сборки я заново добавил все зависимости (это все еще не так, потому что я дважды определил свои зависимости) с областью earLib. Таким образом, мои зависимости помещаются в корень моего проекта в моей определенной папке lib.

Другие вопросы по тегам