java - 了解 Gradle 项目依赖关系,Gradle 站点示例似乎不完整
问题描述
我正在尝试了解 Gradle 构建依赖项,但在使用 Gradle 网站上的示例时遇到问题,想知道是否有人可以提供帮助。
在他们网站的将依赖项添加到任务部分中,将以下代码保存在build.gradle中:
project('projectA') {
task taskX {
dependsOn ':projectB:taskY'
doLast {
println 'taskX'
}
}
}
project('projectB') {
task taskY {
doLast {
println 'taskY'
}
}
}
他们说gradle -q taskX 的输出是:
> gradle -q taskX
taskY
taskX
但我得到:
FAILURE: Build failed with an exception.
* Where:
Build file '/tmp/x/build.gradle' line: 3
* What went wrong:
A problem occurred evaluating root project 'x'.
> Project with path ':projectA' could not be found in root project 'x'.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
我得到--stacktrace
以下信息:
Caused by: org.gradle.api.UnknownProjectException: Project with path ':projectA' could not be found in root project 'x'.
注意:此build.gradle
文件是文件/tmp/x
夹中的唯一文件。
------------------------------------------------------------
Gradle 3.4.1
------------------------------------------------------------
Build time: 2012-12-21 00:00:00 UTC
Revision: none
Groovy: 2.4.15
Ant: Apache Ant(TM) version 1.10.3 compiled on July 19 2018
JVM: 1.8.0_191 (Oracle Corporation 25.191-b12)
OS: Linux 4.15.0-43-generic amd64
解决方案
文档中的这个聊天器解释了如何在来自同一构建的不同(子)项目的任务之间创建依赖关系(项目中的任务X
取决于projectA
示例中Y
项目projectB
中的任务)。
因此,您需要在尝试执行给定示例之前设置多项目构建:请参阅此处的多项目构建基础知识
在您的情况下:您需要:
1)创建两个子项目目录'projectA'和'projectB'
2)在项目根目录下创建所需settings.gradle
文件,声明/包含两个子项目
include ("projectA" , "projectB")
推荐阅读
- python - LSTM ANN 预测输出是具有相同峰值的测试输入的多个因子
- ruby-on-rails - validates_confirmation_of :密码不起作用[ruby 4.2]
- flask - 使用 Sqlalchemy 和 JInja2 进行烧瓶分页。错误:werkzeug.routing.BuildError werkzeug.routing.BuildError: ('users', {'page': 2}, None)
- android - 无法让 Android Studio 同步 Google Glass 项目
- python - 如何放置一个代码,如果按下按钮,则会弹出一条消息?
- python - 如何使用更快且不发出警告“SettingWithCopyWarning”的熊猫执行以下任务
- python - SciPy 优化 - 约束函数中的参数
- c# - Asp.net MVC5 - 对象引用未设置为对象的实例
- visual-paradigm - 如何在视觉范式 10 中的图表更改后更新图表?
- maven - Maven:在下载的项目 pom 上找不到工件