当前位置: 首页 > 知识库问答 >
问题:

有没有一种简单的方法可以从本地gradle缓存中删除一个依赖项?

曾景龙
2023-03-14

本地gradle缓存存储Maven/gradle依赖项的副本。如何清除分级缓存?介绍如何清除整个缓存,但不清除单个包。

有没有一种简单的方法可以从本地gradle缓存中删除一个包?例如,在积极开发库时,这将是有用的。要测试一个小的库更改,我当前必须从文件系统中清除整个缓存,这样就不会使用库的旧缓存版本。

共有1个答案

申屠英韶
2023-03-14

下面是我编写的一个快速脚本:

defaultTasks 'seekAndDestroy'

repositories{ //this section *needs* to be identical to the repositories section of your build.gradle
    jcenter() 
}

configurations{
    findanddelete
}

dependencies{
    //add any dependencies that  you need refreshed
    findanddelete 'org.apache.commons:commons-math3:3.2'
}

task seekAndDestroy()<<{
    configurations.findanddelete.each{ 
        println 'Deleting: '+ it
        delete it.parent
    }
}

您可以通过运行gradle-b seekanddestroy.gradle来调用此脚本

如何工作的演示:如果您的build.gradle看起来像这样:

apply plugin:'java'

repositories{
    jcenter()
}

dependencies{

    compile 'org.apache.commons:commons-math3:3.2'
}
λ gradle clean build | grep Download
Download https://jcenter.bintray.com/org/apache/commons/commons-math3/3.2/commons-math3-3.2.jar
λ gradle clean build | grep Download
λ gradle -b seekanddestroy.gradle  -q
Deleting: .gradle\caches\modules-2\files-2.1\org.apache.commons\commons-math3\3.2\ec2544ab27e110d2d431bdad7d538ed509b21e62\commons-math3-3.2.jar

下一个构建,再次下载依赖项:

λ gradle clean build | grep Download
Download https://jcenter.bintray.com/org/apache/commons/commons-math3/3.2/commons-math3-3.2.jar
 类似资料:
  • 问题内容: 上面显示了以下错误: 因此,我必须这样做: 但是,没有简单的方法可以做到这一点吗? 问题答案: 要删除列表中元素的首次出现,只需使用: 请注意,它不会删除所有出现的元素。为此使用列表理解。

  • 问题内容: 我正在建立一个带有flask的网站,其中用户具有帐户并能够登录。我正在使用flask-principal作为登录部分和角色管理。有没有办法让用户的会话在5分钟或10分钟后过期?我在flask文档或flask-principal文档中找不到该文件。 我想到了一种手动方法,在登录时在服务器端设置一个带有时间标签的变量,并在用户执行下一个操作时,服务器会验证该时间戳记上的时间增量并删除会话。

  • 我试图用JUnit和SLF4J测试来测试记录器的行为,这是“SLF4J的一个测试实现,它将日志消息存储在内存中,并提供检索它们的方法”。 我有一些将SLF4J作为传递依赖项的依赖项。我试图将SLF4J从我的测试配置中的所有依赖项中排除,但我仍然需要它来进行SLF4J测试。 我可以通过下面的代码将SLF4J排除在所有内容之外,但这显然也将它排除在我需要的SLF4J测试之外。 由于SLF4J是我的许多

  • 问题内容: 我正在建立一个带有flask的网站,其中用户具有帐户并能够登录。我正在使用flask- principal作为登录部分和角色管理。有没有办法让用户的会话在5分钟或10分钟后过期?我在flask文档或flask- principal文档中找不到该文件。 我想到了一种手动方法,在登录时在服务器端设置一个带有时间标签的变量,并在用户执行下一个操作时,服务器会验证该时间戳记上的时间增量并删除会

  • 问题内容: 我正在研究Java应用程序的一部分,该应用程序将图像作为字节数组,将其读入实例,然后将其传递给第三方库进行处理。 对于单元测试,我想获取一个图像(从磁盘上的文件中获取),并断言它等于代码处理过的同一图像。 我的 预期 是使用从磁盘上的PNG文件读取的。 我的 测试 代码将相同的文件读入A,并将其作为PNG写入字节数组,以提供给被测系统。 当被测系统将字节数组写入新数组时,我想断言这两个

  • 问题内容: 我们有一个使用Maven作为其构建/依赖管理工具的项目。但是我们的代码需要在客户的站点上进行编译,并且客户要求我们交付为Ant编写的构建脚本。 因此,当我们需要将代码交付给客户端时,我们希望继续使用Maven并自动生成Ant脚本。 我们能做到吗? 问题答案: 您可以使用Maven Ant插件。