Ускорение разрешения зависимости Grails

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

Зависимости работают просто великолепно, однако, все еще требуется несколько минут для разрешения зависимостей независимо от того, являются ли зависимости уже в кэше Ivy. Если кэшу нужно обновление, он берет еще дольше, конечно.

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

Спасибо!

8
задан Thody 19 May 2010 в 15:45
поделиться

2 ответа

Может быть, это немного сложно, но я бы сделал следующее

  1. Используйте элемент enviroment в config dsl, чтобы добавить разрешение зависимостей только в тестовой электронной продукции, см. [Здесь] [1]
  2. Поместите весь свой jar-файл зависимостей в файл forlder lib вашего приложения grails. Я бы сделал это с помощью maven dependecy: copy. Я думаю, что это можно было бы сделать и в ivy
  3. Добавьте файл jar в свой scm-ignore-list
  4. Используйте систему сборки CI, чтобы проверить правильность разрешения зависимостей

    [1]: http: // www .grails.org / doc / 1.3.x / guide / 3.% 20Configuration.html # 3.2 Среды

2
ответ дан 6 December 2019 в 00:54
поделиться

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

Вы можете обойти это в режиме разработки, по крайней мере, просто оставив приложение Grails запущенным и выполнив «горячее» развертывание любых изменений - если вы используете одну из последних версий Grails со встроенным сервером Tomcat, это работает очень хорошо.

0
ответ дан 6 December 2019 в 00:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: