当前位置: 首页 > 面试题库 >

Gradle排除模块的复制任务

洪黎昕
2023-03-14
问题内容

我的复制任务设置如下:

task copyToLib( type: Copy ) {
   into "$buildDir/myapp/lib"
   from configurations.runtime

   // We only want jars files to go in lib folder
   exclude "*.exe"
   exclude "*.bat"
   exclude "*.cmd"
   exclude "*.dll"

   // We exclude some lib
   exclude group: "org.slf4j", name: "slf4j-api", version: "1.6.2"
}

而且我收到以下错误:

Could not find method exclude() for arguments [{group=org.slf4j, name=slf4j-api, version=1.6.2}] on task ':copyToLib' of type org.gradle.api.tasks.Copy

我觉得这只是一个语法问题,有什么提示吗?


问题答案:

按组排除: exclude group: org.slf4j

按模块排除: exclude module: slf4j-api

按文件名排除: exclude { it.file.name.contains('slf4j-api') }

排除文件: exclude "slf4j-api.jar"

您可以按组和模块排除,但需要进入这样的配置排除。 然后它将限制复制之前的配置。

task copyToLib( type: Copy ) {
    into "$buildDir/myapp/lib"
    from configurations.runtime {
        exclude group: 'org.slf4j'
    }

    // We only want jars files to go in lib folder
    exclude "*.exe"
    exclude "*.bat"
    exclude "*.cmd"
    exclude "*.dll"

}

并记住确保该目录存在 $buildDir/myapp/lib

也许不是排除所有其他文件而是添加jar?



 类似资料:
  • 问题内容: 我正在使用Maven / Jenkins CI运行sonar-5.1.2。 搜寻并浏览了类似的问题(大多数问题可以追溯到2010-2012)之后,仍不清楚如何从多模块Maven项目中排除特定的Maven模块。 *从4.3版开始,“ *模块排除” 属性已弃用,并且不应再使用。 我们在不同的模块中复制了软件包: 是否可以仅从文件中排除文件但包括文件? SonarQube分析由https:/

  • 你可以用命令行选项-x来排除某些任务,让我们用上面的例子来示范一下. 例子 11.2. 排除任务 gradle dist -x test 命令的输出 > gradle dist -x test :compile compiling source :dist building the distribution BUILD SUCCESSFUL Total time: 1 secs 可以看到, tes

  • 我有4个错误消息时,我建立我的应用程序;当我添加了一个新的依赖项(de.westnordost:osmapi-注释:1.3)时,它们就出现了。这些消息都是相似的: 但它们都以相同的4个错误结束。那么,我需要使用的正确语法/组/模块是什么?

  • 我们希望从web应用程序部署(WAR文件)中排除。 因此,我们在中有以下配置: 在Wildfly日志中,我看到是作为添加的。但是在搜索时,我只看到以下内容: 2015-04-03 15:22:11,971 DEBUG[org.jboss.modules](ServerService线程池--12)模块javax.servlet.jstl.api:main由本地模块加载器@1f7c9157定义(查找

  • 问题内容: 我试图在Sphinx中使用autodoc打印出特定模块中每个函数的文档字符串,但不包括模块的文档字符串。可能吗? 原因是我使用模块docstring指定命令行选项(带有可爱的docopt)。 问题答案: 将以下内容添加到 conf.py中 : 此代码通过为autodoc-process-docstring事件提供处理程序来删除模块中的模块docstring。

  • 我正在尝试将库连接到我在Gradle的项目: 当我单击“立即同步”时,项目正在生成,没有错误,但当我运行项目时,IDE显示错误: 执行任务:[: app: assembleDebug] 按需配置是一个孵化功能。: app: preBuild: app: compileDebugNdk UP-TO-DATE: app: preDebugBuild: app: check DebugManifest: