作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试从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')
}
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-beans
,
spring-core
,
spring-tx
...)。
关于gradle - Gradle:使用jar依赖项进行一场激烈的 war ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54833608/
我是一名优秀的程序员,十分优秀!