gpt4 book ai didi

zip - gradle:在 war 项目之间共享 zipper

转载 作者:行者123 更新时间:2023-12-03 06:24:22 24 4
gpt4 key购买 nike

我正在尝试为我的Java Web项目构建一种模板构建脚本
该模板存储在我的apache Web服务器中。
要在项目中使用它,我使用apply from 'http://myserver/templateWarScript.gradle'
最终 war 的配置在此模板中完成。

对于我的所有Java Web项目,我需要将zip文件(包含JavaScript文件,图像等)的内容放入最终的war文件中。
要共享此zip文件,我将其放在本地存储库中。


现在,我正在设法找到一种将其内容包含在我的最终 war 中的方法。但是我找不到解决办法。
我正在尝试将以下行放在模板脚本中:

  configurations {
zipWebResource
}

dependencies {
zipWebResource group: 'utilities.template', name: 'webResource', version: '1.0', ext: 'zip'
}

//test task
task testZipPath << {
println "zip path:" + configurations.zipWebResource.asPath
}
//

//my war configuration
war {
println "zip path:" + configurations.zipWebResource.asPath
}

如果我将'configurations.zipWebResource.asPath'放置在war配置中,则会出现一个错误,表明gradle无法找到zip依赖项。
但是,如果将其从 war 配置中删除,则可以通过测试任务读取它。

我也尝试通过方法或直接在gradle脚本中读取它,但是遇到了同样的错误。阅读gradle用户指南后,我认为我的问题与配置或/和执行阶段有关。

我想了解为什么我可以在任务中而不是在配置中读取configurations.zipWebResource.asPath。我的目标是像使用依赖项一样使用zip并将其内容放在生成的 war 的根目录中

非常感谢。

最佳答案

将此片段包含在apply from:中,并将其直接粘贴到构建脚本中(替换apply from:)之间没有语义上的区别。可能其中一种情况是您更改了声明的顺序,或者本地存储库中没有zip。

编辑以反射(reflect)您的新问题:
通常,不应在配置时解决配置,而应该在执行时解决。在您的情况下,asPath将触发分辨率。对于外部依赖,它应该可以工作(但不建议这样做,因为它可能会减慢您的构建速度)。可能问题出在其他地方(例如错误的声明顺序)。

PS:如果没有明确的问题,Stack Overflow并不是这种支持的好格式。获得Gradle支持的最佳地点是:http://forums.gradle.org

关于zip - gradle:在 war 项目之间共享 zipper ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16912054/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com