пятница, 27 июля 2012 г.

Зависимости модуля

Всегда меня выводила неоднозначность понимания, что за Scope выбирается для зависимости, покопавшись в хелпе идеи нашел вот определение:

Скоуп Зависимость доступна в класспазе на следующих этапах: Детально о скоупе
Compileкомпиляции и выполненияЗначение по-умолчанию. Решает зависимость, которая доступна в класспазе для модуля как на этапе компиляции, так и на этапе выполнения.
Testпри запуске в режиме тестированияЭтот пункт стоит выбирать, когда зависимость нужно толька для тетов, и в условиях нормальной работы приложения не используется. Когда этот скоуп выбран зависимость решается и доступна в класспазе во время тестовой компиляции и тестового выполния.
RuntimeвыполненияЭтот скоуп определяет, что зависимость будет нужна в класспазе только в момент выполнения приложения и никак не в момент его компиляции.
ProvidedкомпиляцииЭта опция подразумевает, что зависимость будет в класспазе на этапе компиляции, но не на этапе выполнения приложения. Этот скоуп полезен, когда приложение выполняется в неком контейнере, у которого в класспазе будет доступна эта зависимость.
Зацепившись за это, посмотрел, что делает чекбокс Export, пока не догнал в перевод, сейчас нет времени думать, разберусь попозже:
 
If this option is selected, a library is included in the compilation classpath of the dependent modules, as well as the classpath of the module which it is attached to. If this option in not selected, a library is only included in the compilation classpath of a module which it is attached to. A library is always included in the runtime classpath regardless of the state of the Export check box.

Комментариев нет:

Отправить комментарий