如何从gradle的缓存中复制gradle依赖罐?

时间:2019-04-16 17:20:15

标签: gradle mysql-connector

我正在开发使用 build.gradle 中的'mysql:mysql-connector-java'依赖关系连接到MySQL数据库的Java应用程序。我想通过Eclipse Data Source Explorer使用由于上述依赖关系而下载到gradle缓存中的jar作为驱动程序,通过Eclipse Data Source Explorer连接到同一数据库。

我尝试使用缓存的jar(mysql-connector-java-8.0.15.jar)配置驱动程序,但是它的位置和名称在每个新版本中都会更改,因此,我希望将其复制到固定的目标位置。

如果可能的话,我希望gradle本身只能将这个jar以固定的文件名复制到 lib 文件夹中。

1 个答案:

答案 0 :(得分:0)

我没有使用 implementation 配置声明依赖项,而是使用了一个自定义配置,我将其命名为 toCopy ,然后添加了一个任务以仅复制特定罐子放在固定位置:

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,然后将jar复制到 lib 文件夹。