Использование проекта в качестве зависимости времени компиляции без учета его зависимости времени компиляции? - PullRequest
0 голосов
/ 06 июля 2011

У меня есть два проекта Gradle, проект A, который является войной, и проект B, который является банкой. Проект A зависит от проекта B. Проект B имеет зависимость компиляции C. Когда я собираю проект B, зависимость компиляции C не включается в сгенерированный файл jar, чего я и ожидаю. Когда я собираю проект A, проект B включается в каталог lib моей войны вместе с зависимостью компиляции C.

Я хочу, чтобы выходные данные задачи jar для проекта B были включены в каталог lib моего файла war, как я могу это сделать? Я вставил соответствующие фрагменты моего файла сборки Gradle ниже.

проект A

apply plugin: 'war'
dependencies {
   compile project(':B') 
}

проект B

apply plugin: 'java'
dependencies {
   compile (group: 'org.apache.openejb', name: 'C', version: '5.0-3') 
}

1 Ответ

0 голосов
/ 14 июля 2011

Внутри проекта A вы можете использовать предоставленную конфигурацию Compile для исключения некоторых транзитивных зависимостей из включения в WAR:

dependencies {
   compile project(':B') 
   providedCompile (group: 'org.apache.openejb', name: 'C', version: '5.0-3') 
}

Подробнее об этом можно прочитать в плагине WAR документация .

...