gpt4 book ai didi

maven - Gradle 相当于 Maven 程序集

转载 作者:行者123 更新时间:2023-12-04 21:17:43 25 4
gpt4 key购买 nike

只要 Gradle 存在,我就会认为这是有据可查的,但我正在挣扎。对不起,如果这对其他人很明显。

我有一个带有 maven 的多项目build设置,我正在设置 gradle 进行比较。

项目 A 生成一个 jar 文件,项目 B 生成一个 war 文件(并且依赖于来自 A 的 jar)。项目 C 我想创建一个程序集,即一个 zip 文件。 zip 文件应包含项目 C 中目录的内容、项目 B 中的 war 文件以及从 Archiva 中提取的 tomcat 程序集的解压缩内容。

我遇到的问题是,当 gradle 评估 build.gradle 文件时,它失败了,因为它找不到 war 文件——这并不奇怪,war 文件尚未构建。

那么,我如何以不会导致评估过程中失败的方式表达对 war 文件的依赖?

apply plugin: 'distribution'

description = """E2am Assembly"""

project(':assembly') {
dependencies {
compile project(':webapps/e2am')
}
}


dependencies {
compile group: 'com.e2open.platform', name: 'e2am', version:'9.0-SNAPSHOT', ext:'war'
compile group: 'com.e2open.platform.third-party.tomcat', name: 'tomcat-assembly',version:'7.0.42-1002', classifier:'bin', ext:'zip'
}

task explodeTomcat(type: Copy, dependsOn: ':webapps/e2am:install'){

configurations.compile.filter { it.toString().endsWith(".zip") }.each{
from zipTree(it)
}
into 'TomcatUnpacked'

configurations.compile.filter { it.toString().endsWith(".war") }.each{
from it
}
into 'war'

}

distributions {
main {
baseName = 'e2am-assembly'
contents {
from { 'tomcat' }
from { 'TomcatUnpacked' }
from { 'war' }
}
}
}


distZip.dependsOn explodeTomcat
install.dependsOn distZip

此外,顶级项目将“java”和“maven”插件应用于所有子项目。

错误是:
FAILURE: Build failed with an exception.

* Where:
Build file '/kwork/wkcopy/e2amA/assembly/build.gradle' line: 25

* What went wrong:
A problem occurred evaluating project ':assembly'.
> Could not resolve all dependencies for configuration ':assembly:compile'.
> Could not find com.e2open.platform:e2am:9.0-SNAPSHOT.
Required by:
com.e2open.platform:assembly:9.0-SNAPSHOT

有人可以向我指出文档或讨论,让我走得更远吗?谢谢!

最佳答案

你应该看看Multi-project Builds - Project lib dependencies在 Gradle 文档中。

这样的事情应该工作:

dependencies{
compile project(:webapps/e2am)
compile group: 'com.e2open.platform.third-party.tomcat', name: 'tomcat-assembly',version:'7.0.42-1002', classifier:'bin', ext:'zip'
}

还有 an example这看起来很像您正在尝试做的事情-可能值得一看:)

关于maven - Gradle 相当于 Maven 程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18876389/

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