gradle如何使用配置

时间:2017-06-27 00:31:45

标签: gradle configuration war

gradle war插件中的示例:为什么需要定义如下的moreLibs?请解释一下:

configurations {
   moreLibs
}

dependencies {
      moreLibs ":otherLib:1.0"
}

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

我们可以在配置中定义任何内容吗?

configurations {
    foobar
}

我在很多地方见过这些。谁能解释一下?

1 个答案:

答案 0 :(得分:3)

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

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

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

如果您不需要,则无需执行此操作。 runtime配置中的所有库(以及compile配置中的库)都会自动添加到war lib目录中。但如果由于某些原因需要额外的库,而您不想添加到compileruntime,则可以这样做。

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