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

作为“jar”任务的一部分,将jar复制到另一个文件夹

万俟震博
2023-03-14

我有一个多项目分级设置。我想简单地复制任何项目的生成的jar文件,任何时候jar是重新构建的,并且认为这将在我的根项目的子项目关闭中起作用:

task copyJarToGenerated(type: Copy) {
    from jar
    into "../my-generated-jars/"
}
copyJarToGenerated.mustRunAfter jar

但是如果我运行任何子项目的'clean'任务和'jar'任务,那么我的jar将像往常一样在build/libs下生成,但不会复制。

查看gradle输出,它只运行compileJava、processResources、Classs,然后运行JAR。它没有运行CopyJartoGenerated。

共有1个答案

苏浩瀚
2023-03-14

方法mustrunafter不定义任务依赖项,它只是强制执行特定的顺序。它基本上是这样说的:“如果两个任务都在一个构建中执行(无论出于什么原因),那么它们将按照指定的顺序执行”。

因此您需要自行定义任务依赖关系:

jar.finalizedBy copyJarToGenerated

您还可以添加copyJartoGenerated作为生命周期任务Build的依赖项:

build.dependsOn copyJarToGenerated
 类似资料:
  • 问题内容: 我有一个没有GUI的程序,并且使用控制台!所以首先我从控制台的用户那里读了一行 BufferedReader userReader = new BufferedReader(new InputStreamReader(System.in)); 然后我将在控制台中为用户写一个答案! System.out.println(“ Server:” + output); 我要为此创建一个jar文

  • 问题内容: 假设我的jar包“ com.test.io”中有一个名为test.txt的文件。 我将如何编写一个类来检索此文本文件,然后将内容复制到文件系统上的新文件中? 问题答案: 假设jar在您的类路径中:

  • 问题内容: 我有两个Java.io.File对象file1和file2。我想将内容从file1复制到file2。有没有一种标准的方法可以执行此操作,而无需创建必须读取文件1并写入文件2的方法 问题答案: 不,没有内置方法可以做到这一点。与您要完成的工作最接近的是from 的方法,如下所示: 并且不要忘记处理异常并在一个块中关闭所有内容。

  • 问题内容: 我想从罐子中复制文件。我要复制的文件将被复制到工作目录之外。我已经做过一些测试,所有尝试使用的方法都以0字节文件结尾。 编辑 :我希望通过程序而不是手动完成文件的复制。 问题答案: 首先,我想说的是,之前发布的一些答案是完全正确的,但是我想告诉我,因为有时我们不能在GPL下使用开放源代码库,或者因为我们懒得下载jarXD或其他文件无论您的理由在这里,还是一个独立的解决方案。 下面的函数

  • 我想从jar复制一个文件。我要复制的文件将被复制到工作目录之外。我做了一些测试,我尝试的所有方法最终都是0字节的文件。 编辑:我希望通过程序复制文件,而不是手动复制。

  • 我必须将ant项目转换为gradle项目。在这里,当我运行gradle构建时,它创建了war文件,当它部署在服务器上时,分解的war文件夹有两个文件夹META-INF和WEB-INF,我的要求是1。将web.xml从图像中看到的config文件夹复制到WEB-INF文件夹,并将图像中看到的jsp文件夹复制到分解文件夹