Как разделить веб-приложение на ниндзя?
Я только начал разрабатывать Java-приложение, основанное на ниндзя-фреймворке. Все отлично работает, но: при всех зависимостях ниндзя война развертывания занимает около 25 МБ. Я действительно надеюсь, что мне не придется загружать 25-мегабайтный Java-архив все время - особенно из-за того факта, что зависимости не будут меняться так часто, как, например, таблица стилей моего приложения.
Есть ли практическое решение для переноса зависимостей ninjaframework на отдельный jar? Я работаю с Eclipse, поэтому решение, которое интегрируется в IDE, было бы здорово.
До сих пор я изучал область определения зависимостей maven и (безуспешно) пытался переместить зависимости в отдельный проект и сослаться на проект с зависимостью в области системы (которую я мог бы развернуть в моем понимании). как отдельный файл jar). В настоящее время мне не удается создать этот jar-файл зависимости с maven, но мне также интересно, есть ли лучшие подходы.
Я развертываю приложение на tomcat-сервере в установке plesk
2 ответа
Другой вариант - исключить библиотеки, которые вы не используете. Например, если вы не используете JPA, вы можете безопасно исключить его из сборки с помощью тега Maven xml.
Справочная информация: Ninja 4 потенциально объединяет слишком много библиотек по умолчанию. Это круто, потому что все будет работать "из коробки", не задумываясь о необходимых библиотеках. Недостатком является то, что баночка / война могут быть слишком большими для того, что вы хотите сделать. Есть дискуссии о том, как сделать Ninja более модульным - не стесняйтесь вмешиваться в наш список рассылки:)
Но, как написано выше - вы можете сами расстегнуть пачку Ниндзя, используя исключение Maven.
Если вам нужно использовать все зависимости, нет способа избежать их развертывания в вашем приложении.
Вы не говорите, развертываете ли вы в контейнер (возможно, Tomcat). Если вы это сделаете, вы можете попытаться развернуть необходимые библиотеки в контейнере и установить область Maven на предоставленную, чтобы избежать повторного развертывания библиотек.
Наличие библиотек, предоставляемых контейнером, имеет преимущества, но также может быть обременительным. Сильно зависит от ваших процессов развертывания и эксплуатации.