gpt4 book ai didi

gradle - Gradle:使用jar依赖项进行一场激烈的 war

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

我正在尝试从Ant + Ivy迁移到Gradle,并且无法正确包含传递依赖项。

例如,我具有以下Ivy依赖项:
<dependency org="org.springframework" name="spring-jdbc" rev="4.2.0.RELEASE"/>
如Ivy报告所示,此 Artifact 依赖spring-tx,它由Ivy检索并作为jar放置到WEB-INF/lib中。但是默认情况下,Gradle不会这样做,并且此代码也无法解决问题(它只是没有在其中放置任何与spring-tx相关的.class文件):

from { configurations.compileClasspath
.findAll { !it.name.endsWith('pom') }
.collect { it.isDirectory() ? it : zipTree(it) } } {
into('WEB-INF/classes')
}

有谁知道我如何将传递性依赖项包含在jar中并将其放入 WEB-INF\lib中?

最佳答案

可以使用Gradle war插件(请参阅War Plugin documentation)。

以下是build.gradle脚本的一个非常简单的示例,该脚本将在war下创建一个具有所有所需依赖项(和可传递依赖项)的/WEB-INF/lib

plugins{
id "war"
}

repositories {
mavenCentral()
}

dependencies{
implementation group: 'org.springframework', name: 'spring-jdbc', version: '4.2.0.RELEASE'

}

war生成的 ./gradlew build将包含/ WEB-INF / lib文件夹中的所有 spring-jdbc库及其依赖项( spring-beansspring-corespring-tx ...)。

关于gradle - Gradle:使用jar依赖项进行一场激烈的 war ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54833608/

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