我的构建文件中有一些gradle war任务,我想更改webAppDirName
每个战争任务。我试过这个:
task myWarTask(type: War) {
ext.webAppDirName = 'src/anotherfolder/webapp' // also tried just webAppDirName
version ""
destinationDir = file("$buildDir/libs")
baseName = 'myWarName'
classpath = configurations.myWarConfiguration
}
但这仍然是src/main/webapp
而不是src/anotherfolder/webapp
我可以在每个战争文件的基础上配置webAppDirName
吗?
答案 0 :(得分:6)
每个项目只有一个webAppDirName
属性,War插件会自动为每个from
任务添加相应的War
。所以主要问题是如何撤消from
。我认为以下内容应该有效:
apply plugin: "war"
webAppDirName = "non/existing/dir"
task myWarTask(type: War) {
from "src/anotherfolder/webapp"
...
}
另一种方法是仅使用War
任务类型,而不使用War插件。您将不得不再配置一些任务属性,并且将丢失一些功能,主要与提供的配置和战争发布相关。当然,您可以通过显式配置(如有必要)来弥补这一点。如果您对详细信息感兴趣,请查看War插件的source code。
PS:webAppDirName
不是额外属性(ext.
),而是由War
插件添加的约定属性。额外属性仅用于构建脚本中的临时使用。在编写额外属性时使用ext.
,但在阅读属性时省略它。
答案 1 :(得分:1)
task myWarTask(type: War) {
from 'src/anotherfolder/webapp'
version ""
destinationDir = file("$buildDir/libs")
baseName = 'myWarName'
classpath = configurations.myWarConfiguration
}