Gradle:用jar依赖构建一场肥沃的战争
我正试图从Ant+Ivy迁移到Gradle,但无法正确地包含可传递依赖项 例如,我有以下常春藤依赖关系:Gradle:用jar依赖构建一场肥沃的战争,gradle,groovy,ant,ivy,Gradle,Groovy,Ant,Ivy,我正试图从Ant+Ivy迁移到Gradle,但无法正确地包含可传递依赖项 例如,我有以下常春藤依赖关系: 正如Ivy报告所示,这个工件依赖于SpringTX,它由Ivy检索并作为一个jar放置到WEB-INF/lib。但是Gradle在默认情况下不这样做,并且该代码也不起作用(它只是没有将任何spring-tx相关的.class文件放入其中): 有人知道我如何将可传递依赖项作为JAR包含并将它们放入WEB-INF\lib中吗?Gradlewar插件可用于此(请参阅) 下面是一个非常简单的bui
正如Ivy报告所示,这个工件依赖于SpringTX
,它由Ivy检索并作为一个jar放置到WEB-INF/lib
。但是Gradle在默认情况下不这样做,并且该代码也不起作用(它只是没有将任何spring-tx
相关的.class
文件放入其中):
有人知道我如何将可传递依赖项作为JAR包含并将它们放入
WEB-INF\lib
中吗?Gradlewar
插件可用于此(请参阅)
下面是一个非常简单的build.gradle
脚本示例,该脚本将在/WEB-INF/lib
下创建一个war
,其中包含所有需要的依赖项(和传递依赖项)
plugins{
id "war"
}
repositories {
mavenCentral()
}
dependencies{
implementation group: 'org.springframework', name: 'spring-jdbc', version: '4.2.0.RELEASE'
}
使用
/gradlew build
生成的war
将在/WEB-INF/lib文件夹中包含所有SpringJDBC
库及其依赖项(SpringBeans
,SpringCore
,SpringTX
)。是否使用Gradlewar
插件?是,我确实使用了这个插件war
插件,我认为它正是您所需要的。请看下面我的回答:请尝试这个非常简单的项目设置,并检查是否得到预期的结果。我使用这个插件,它不会将任何可传递的依赖项放入WEB-INF/lib
,只有声明的依赖项。您是否尝试上面简单的9行脚本?我认为没有理由不获取可传递依赖项。。顺便问一下,你用的是哪一个Gradle版本?
plugins{
id "war"
}
repositories {
mavenCentral()
}
dependencies{
implementation group: 'org.springframework', name: 'spring-jdbc', version: '4.2.0.RELEASE'
}