如何在不实际构建东西的情况下使 gradle 下载依赖项

2024-03-16

到了新的环境gradle build需要相当长的时间,因为必须下载所有依赖项。

有没有办法只下载依赖项以加快后续构建的速度?

这样我们就可以预先填充 CI 构建环境。


编辑:针对 Gradle 6+ 进行了更新。

一些注意事项:

  • 这种新方法将 jar 下载到文件夹中,然后删除该文件夹。因此,将 jar 放在 Gradle 缓存中的结果是一个副作用。
  • 它当前使用为以下配置的 jarsmain源集但可以推广。
  • 尽管它既不高效也不优雅,但如果您确实想要 jar(和传递依赖项),它可能会很有用:只需注释掉删除runtime文件夹。

当您wantjars(和传递依赖项),因为您只需注释掉删除文件夹即可。

考虑一下这个build.gradle(作为一个任意的具体例子):

apply plugin: 'java'

dependencies {
    implementation 'org.apache.commons:commons-io:1.3.2'
    implementation 'org.kie.modules:org-apache-commons-lang3:6.2.0.Beta2'
}

repositories { 
   jcenter()
}

task getDeps(type: Copy) {
    from sourceSets.main.runtimeClasspath
    into 'runtime/'

    doFirst {
        ant.delete(dir: 'runtime')
        ant.mkdir(dir: 'runtime')
    }

    doLast {
        ant.delete(dir: 'runtime')
    }
}

运行示例:

$ find /Users/measter/.gradle/caches -name "commons-io*1.3.2.jar"

$ gradle getDeps

$ find /Users/measter/.gradle/caches -name "commons-io*1.3.2.jar"
/Users/measter/.gradle/caches/modules-2/files-2.1/commons-io/commons-io/1.3.2/[snip]/commons-io-1.3.2.jar
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在不实际构建东西的情况下使 gradle 下载依赖项 的相关文章

  • 使用 Java 的 Apache Http 摘要身份验证

    我目前正在开发一个 Java 项目 但无法使 http 摘要身份验证正常工作 我尝试使用 Apache 网站 但没有帮助 我有一个需要 HTTP 摘要身份验证的网站 DefaultHttpClient httpclient new Defa
  • 如何在 JPQL 或 HQL 中进行限制查询?

    在 Hibernate 3 中 有没有办法在 HQL 中执行相当于以下 MySQL 限制的操作 select from a table order by a table column desc limit 0 20 如果可能的话 我不想使用
  • 如何在 Java 中向时间戳添加/减去时区偏移量?

    我正在使用 JDK 8 并且玩过ZonedDateTime and Timestamp很多 但我仍然无法解决我面临的问题 假设我得到了格式化的Timestamp在格林威治标准时间 UTC 我的服务器位于某处 假设它设置为Asia Calcu
  • Runtime.exec 处理包含多个空格的参数

    我怎样才能进行以下运行 public class ExecTest public static void main String args try Notice the multiple spaces in the argument Str
  • 断言 Kafka 发送有效

    我正在使用 Spring Boot 编写一个应用程序 因此要写信给 Kafka 我这样做 Autowired private KafkaTemplate
  • Sun 在 EDT 之外做 GUI 工作的演示?

    我正在看SplashDemo java http download oracle com javase tutorial uiswing examples misc SplashDemoProject src misc SplashDemo
  • Akka 与现有 java 项目集成的示例

    如果我已经有现有的javaWeb 应用程序使用spring and servlet容器 将 Akka 集成到其中的正确方法是什么 就像我将会有Actor1 and Actor2互相沟通的 开始使用这些演员的切入点是什么 例如 1 把它放在那
  • 蓝牙发送和接收文本数据

    我是 Android 开发新手 我想制作一个使用蓝牙发送和接收文本的应用程序 我得到了有关发送文本的所有内容逻辑工作 但是当我尝试在手机中测试它时 我看不到界面 这是Main Activity Code import android sup
  • 在 Java 中获取并存储子进程的输出

    我正在做一些需要我开始子处理 命令提示符 并在其上执行一些命令的事情 我需要从子进程获取输出并将其存储在文件或字符串中 这是我到目前为止所做的 但它不起作用 public static void main String args try R
  • JDBC 时间戳和日期 GMT 问题

    我有一个 JDBC 日期列 如果我使用 getDate 则会得到 date 仅部分2009 年 10 月 2 日但如果我使用 getTimestamp 我会得到完整的 date 2009 年 10 月 2 日 13 56 78 890 这正
  • 不可变的最终变量应该始终是静态的吗? [复制]

    这个问题在这里已经有答案了 在java中 如果一个变量是不可变的并且是final的 那么它应该是一个静态类变量吗 我问这个问题是因为每次类的实例使用它时创建一个新对象似乎很浪费 因为无论如何它总是相同的 Example 每次调用方法时都会创
  • Java Swing - 如何禁用 JPanel?

    我有一些JComponents on a JPanel我想在按下 开始 按钮时禁用所有这些组件 目前 我通过以下方式显式禁用所有组件 component1 setEnabled false 但是有什么办法可以一次性禁用所有组件吗 我尝试禁用
  • 将 JScrollPane 添加到 JFrame

    我有一个关于向 Java 框架添加组件的问题 我有一个带有两个按钮的 JPanel 和一个添加了 JTable 的 JScrollPane 我想将这两个添加到 JFrame 中 我可以将 JPanel 添加到 JFrame 或将 JScro
  • Hibernate 本机查询 - char(3) 列

    我在 Oracle 中有一个表 其中列 SC CUR CODE 是 CHAR 3 当我做 Query q2 em createNativeQuery select sc cur code sc amount from sector cost
  • java XMLSerializer 避免复杂的空元素

    我有这个代码 DocumentBuilderFactory factory DocumentBuilderFactory newInstance DocumentBuilder builder factory newDocumentBuil
  • partitioningBy 必须生成一个包含 true 和 false 条目的映射吗?

    The 分区依据 https docs oracle com javase 8 docs api java util stream Collectors html partitioningBy java util function Pred
  • Java RMI - 客户端超时

    我正在使用 Java RMI 构建分布式系统 它必须支持服务器丢失 如果我的客户端使用 RMI 连接到服务器 如果该服务器出现故障 例如电缆问题 我的客户端应该会收到异常 以便它可以连接到其他服务器 但是当服务器出现故障时 我的客户端什么也
  • MiniDFSCluster UnsatisfiedLinkError org.apache.hadoop.io.nativeio.NativeIO$Windows.access0

    做时 new MiniDFSCluster Builder config build 我得到这个异常 java lang UnsatisfiedLinkError org apache hadoop io nativeio NativeIO
  • Java 11 - 将 Spring @PostConstruct 替换为 afterPropertiesSet 或使用 initMethod

    我正在使用 spring 应用程序 有时会使用 PostConstruct用于代码和测试中的设置 看来注释将被排除在外Java 11 https www baeldung com spring postconstruct predestro
  • 由 Servlet 容器提供服务的 WebSocket

    上周我研究了 WebSockets 并对如何使用 Java Servlet API 实现服务器端进行了一些思考 我没有花费太多时间 但在使用 Tomcat 进行一些测试时遇到了以下问题 如果不修补容器或至少对 HttpServletResp

随机推荐

  • 将内存中的图像转换为 Blob [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我内存中有一个图像 类型 java awt Image 我想使用jdk 1 7将其转换为Blob 类型 java sql Blob 我能找
  • 为什么Python的导入不能像C的#include那样工作?

    我实际上已经尝试理解 Python 导入大约一年了 我几乎放弃了 Python 编程 因为它看起来太混乱了 我有 C 语言背景 我认为import工作就像 include 但是如果我尝试导入某些内容 我总是会遇到错误 如果我有两个这样的文件
  • 在 RMI 期间知道端口号

    有没有办法在RMI过程中同时知道客户端和服务器的端口号 当在 RMI 过程中向客户端返回结果时 客户端下次请求该结果时 客户端和服务器之间的对话是否会在与上次相同的端口上 当服务器自第一个结果返回后一直在运行时或新的端口已创建 例如 cal
  • 动态传递参数

    我正在尝试使用 ExtJS 4 将图像从数据库检索到数据视图 现在我需要动态传递参数 主要是这里 Ext define pkgName v02x003001 SV02X00300102 extend Ext view View alias
  • 下载 Excel 文件时帧加载中断

    我有一个 Angular 脚本 它会访问我的服务器并获取一些数据 该调用如下所示 http post url success function response Do some work Go to the link that the se
  • Jquery上下移动行

    我使用了给出的代码here https stackoverflow com questions 1569889 jquery move table row使用 jquery 在 gridview 中向上 向下移动行 这工作得很好 但是如何实
  • 使用 Kafka 和 NodeJS 进行实时通知

    在我的项目中 我必须设计一个实时通知系统 我就是这样做的 如下图所示 你可以看到我使用 Kafka 作为队列消息系统 并使用 NodeJS 来构建 Websocket Server 和 Kafka Consumers 生产者将收集通知数据并
  • 构建失败,显示 500,请在服务器上运行“jupyter lab build”以获得 Jupyter lab 中的完整输出

    我正在尝试在 jupyter 实验室中添加扩展 我转到扩展选项卡并单击扩展上的 安装 几秒钟后我收到一个弹出窗口说Build failed with 500 please run jupyter lab build on the serve
  • 是否可以将自定义域从一个 Web 应用程序移动到另一个 Web 应用程序?

    我为网络应用程序 webapp a 配置了一个自定义域 www abc com 我想将其转移到 webapp b 而无需停机 如果我尝试将域添加到 webapp b 我会得到 主机名 www abc com 已分配给另一个 Azure 网站
  • Boost R-tree支持层次遍历吗?

    看来R tree http www boost org doc libs 1 61 0 libs geometry doc html geometry reference spatial indexes boost geometry ind
  • Javascript:将日期时间转换为 DD/MM/YYYY - 时间?

    我有一个datetime看起来像这样 2017 04 17 18 26 03 如何使用 javascript 或 jquery 将其转换为这种格式 17 04 2017 18 26 我发现这个问题我认为可能对我有帮助 但答案是转换时间戳 但
  • 添加了空的默认 XML 命名空间 xmlns="" 属性?

    我有简单的代码 我创建根元素并将子元素附加到它 问题是孩子追加了空xmlns 属性 虽然我不期望它 这只是第一个孩子的问题 第二个嵌套级别的孩子已经可以了 所以 下面的代码 DocumentBuilder builder factory n
  • 使用 mvc 身份使用电话号码而不是电子邮件注册

    我的网络应用程序有一个要求 我需要使用电话号码而不是电子邮件和密码来注册用户 系统应输入用户的电话号码并向该电话号码发送 OTP SMS 如果 OTP 匹配 我需要创建用户 我尝试使用 asp net 身份进行 2FA 但它仅在用户已注册并
  • 如何从同一类javascript中的方法返回对象数组

    我是 JavaScript 新手 我想要一个类方法返回由同一类实例化的对象数组 怎么做 目前 基本上以下是我所讨论的代码的一般结构 class myClass constructor name password emailid id thi
  • 我可以在 schema.org 丰富摘要的 Span 标记中使用多个 ItemProps 吗?

    假设我想向以下句子添加丰富的摘要 我在纽约生活和工作 由于纽约既是我的居住地 也是我工作的城市 理论上我希望使用 schema org 标准来标记该行 div I live and work in span New York span di
  • 预先输入下拉列表中的全局页脚

    我有一个包含 2 个类别的预输入菜单 但在这些类别下我需要一个按钮 如何添加此全局页脚 以便在缺少第二个类别时可用 我所做的是在每个数据集中添加一个页脚 但使用 CSS 隐藏除最后一个之外的所有数据集 代码如下 search query t
  • 如何更改 selected.js 中警报的语言?

    When you type in an unavailable option in the multiple select box in chosen js it will generate the output No results ma
  • 锁定整个数据库?

    我有非常奇怪的用户需求 我试图向他们解释有更好的方法来支持他们的业务流程 但他们不想听 我很想走开 但我首先想看看是否还有其他方法 有什么方法可以锁定整个数据库而不是行锁或表锁 我知道我也许可以将数据库置于单用户模式 但这意味着一次只有一个
  • Maven Surefire:无法分叉并行测试执行

    使用 Maven Surefire 我无法分叉并行测试执行 也就是说 我的每个测试用例都必须在单独的 JVM 中运行 因此需要分叉 此外 我希望我的测试用例并行运行 第一部分工作没有问题 我能够在自己的 JVM 中运行每个测试用例 然而 第
  • 如何在不实际构建东西的情况下使 gradle 下载依赖项

    到了新的环境gradle build需要相当长的时间 因为必须下载所有依赖项 有没有办法只下载依赖项以加快后续构建的速度 这样我们就可以预先填充 CI 构建环境 编辑 针对 Gradle 6 进行了更新 一些注意事项 这种新方法将 jar