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

从Gradle中的依赖项jar或war文件复制资源

淳于坚壁
2023-03-14

我们在不同的项目中有多个war文件,比如A和B,共享像图像这样的公共资源。公共资源被放置在单独的项目E中的war模块中,并且这个war文件作为依赖项添加到项目a和B中的所有war模块中。目前,我们正在使用maven资源插件将这些公共资源复制到a和B模块的根目录中。

我们如何使用Gradle来执行相同的操作?我尝试使用下面的配置,但是文件没有复制到生成的war文件中。它们只复制到build/libs文件夹。

    configurations {
        commonWebResources
    }
    task extractApi(type: Copy) {
        print 'File : ' + configurations.commonWebResources.singleFile
        from zipTree(configurations.commonWebResources.singleFile)
       into file("${project.buildDir}/libs/")
    }

    compileJava.dependsOn(extractApi)

共有1个答案

艾敏学
2023-03-14

当我有想要构建任务生成的像图像这样的公共资源时,我会执行以下操作:

sourceSets {
    main {
        resources.srcDirs += "src-gen/main/resources"
    }
}
// (include your configurations block and extractApi task here)
processResources.dependsOn extractApi
task cleanGen << {
    file('src-gen/main/resources').delete()
}
clean.dependsOn cleanGen
 类似资料:
  • 我正在尝试使用WildFly Swarm构建一个web应用程序服务器,并且应用程序必须能够在内部运行另一个Java程序(我不想将其作为外部进程运行)。我试图将外部程序作为.jar依赖项包含到我的web应用程序中,但是,wildfly-swarm-package任务总是失败,原因如下: 作为一个实验,我尝试清空libs文件夹,但错误仍然存在。 谢谢,卢卡斯

  • 我是新手。使用Gradle3.5,我试图从java项目创建一个war构建。下面是我的分级文件内容。 当我生成war构建时,它会在目录下添加jar文件。但是,除了这些jar文件之外,我还需要组中的jar文件和任务中生成的jar文件。我怎样才能做到这一点呢?

  • 但没有改变...我找不到文件夹输出/库... 如何将依赖项、libs、jar复制到指定的文件夹或路径?

  • 我可以在一个多模块gradle项目中复制一个模块的所有依赖项,比如 但实际上,我只需要通过应用项目组id的过滤器来复制项目依赖项 在Gradle中,使用Kotlin DSL的正确方法是什么?

  • 编辑: 结构: A.jar(或A.war) | |src/main/resources/config。属性-(标记为p1) | ||依赖的罐子 当我运行A. jar(或A. war,因为B. jar可以由Web应用程序或java进程调用)时,我希望B. jar中的代码始终使用p1; 当我单独运行B. jar时,我希望B. jar中的代码使用p2 另一种描述方式是主jar/war中同名的资源文件(这