gradle - gradle如何使用配置

标签 gradle configuration war

gradle war插件中的示例:为什么需要定义更多类似以下内容的库?请解释:

configurations {
   moreLibs
}

dependencies {
      moreLibs ":otherLib:1.0"
}

war {
   classpath configurations.moreLibs 
   webXml = file('src/someWeb.xml')
}

我们可以在配置内部定义任何内容吗?
configurations {
    foobar
}

我已经在很多地方看到了这些。谁能解释?

最佳答案

是的,您可以在配置块中写入任何内容,它将使用该名称创建一个新配置,并且您还可以对其进行进一步配置,例如。 G。通过将其transitive属性设置为false和其他内容。

自定义配置只是一个名称,您可以为其定义依赖关系,然后由Gradle自动过渡解决这些依赖关系,并且可以用于需要这些已解析文件的各种目的。

在您的示例中,您定义了moreLibs配置,向其添加一个依赖项,该依赖项将由Gradle传递地解析,然后添加到wars lib目录。

如果您不需要,则不必这样做。 runtime配置中的所有库(以及compile配置中的所有库)都自动添加到wars lib目录中。但是,如果由于某种原因,您需要在其中不想添加到compileruntime的其他库,则可以通过这种方式进行。

自定义配置有用的另一个示例是是否要使用自定义Ant任务。您定义一个自定义配置,向其中添加Ant任务依赖项,然后让Gradle可传递地解析它,并且可以将整个文件集作为类路径添加到Ant的taskdef。

关于gradle - gradle如何使用配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44770629/

相关文章:

spring - 找不到参数的方法 springBoot() - 使用 Kotlin 的 Spring Boot

groovy - 如何从项目build.gradle访问在Gradle buildSrc中编译的类?

javascript - 将 process.env 变量从 Node 传递或使用到 reactjs

maven - 如何从由Maven依赖项覆盖的 war 中删除.jar文件

linux - 使用 jar 命令在 war 文件中包含隐藏文件

java - 如何将 android 项目作为库导入而不是将其编译为 apk (Android studio 1.0)

Gradle 4.x API 而不是实现 - 我如何使用 gradle API 功能来公开内部依赖项

python - 在应用程序上下文之外获取配置变量

java - Struts 2 基于注释的应用程序不工作

spring-mvc - Tomcat 或 JBoss 托管 1 个具有多个网站的 Web 应用程序