Как скопировать банку зависимости gradle из кэша gradle? - PullRequest
1 голос
/ 16 апреля 2019

Я разрабатываю приложение Java, которое подключается к базе данных MySQL, используя зависимость «mysql: mysql-connector-java» в build.gradle . Я хочу подключиться к той же базе данных через Eclipse Data Source Explorer, используя в качестве драйвера jar-файл, который загружается в кэш Gradle из-за вышеупомянутой зависимости.

Я попытался настроить драйвер с помощью кэшированного jar (mysql-connector-java-8.0.15.jar), но его местоположение и имя меняются в каждой новой версии, поэтому я предпочел бы скопировать его в фиксированный пункт назначения.

Я ожидаю, что только этот jar будет скопирован с фиксированным именем файла в папку lib самим gradle, если это возможно.

1 Ответ

0 голосов
/ 20 апреля 2019

Я не объявлял зависимость с конфигурацией реализация , но с пользовательской конфигурацией, которую я назвал toCopy , а затем добавил задачу, чтобы скопировать только конкретный jar в фиксированном месте:

configurations {
    toCopy
    implementation {
        extendsFrom toCopy
    }
}

dependencies {
    toCopy 'mysql:mysql-connector-java'
}

task copyToLib(type: Copy) {
    from configurations.toCopy
    into 'lib'
    rename '(.*)', 'mysql-connector-java.jar'
}

Затем я могу позвонить gradle copyToLib, и банка копируется в папку lib .

...