【发布时间】:2014-04-29 17:41:08
【问题描述】:
我们有 2 个项目,1 个主项目和 1 个子项目,它们是 Java 项目。 它们都在同一个目录下。
目录结构如下所示:
./dev
./Project_A
build.gradle
settings.gradle
./Project_B
build.gradle
Project_A 包括 Project_B。
Project_A settings.gradle 看起来像:
includeFlat 'Project_B'
Project_A build.gradle 包含:
compile project(':Project_B')
问题 从命令行编译时,Project_A 错过了 Project_B 中的类 (gradlew clean build)。 看起来 Project_B 不属于 Project-A 的类路径。
这是来自 gradlew clean build 的(输出的一部分)在 Project_A 目录中运行(之后都是“缺少包 project_b.x.y”和“找不到符号”(来自 Project_B) :
:clean
:Project_B:clean
:Project_B:compileJava
:Project_B:processResources
:Project_B:classes
:Project_B:jar UP-TO-DATE
:compileJava
...Starts erroring out here...
我猜这是一个类路径问题,但我不知道如何解决它。
提前致谢, 杰米
PS:已编辑问题,因为我能够通过 2 个项目构建(最初是 3 个)重现该问题
【问题讨论】:
-
一个 Gradle 构建只能有一个
settings.gradle。有关多项目构建的详细信息,请参阅Gradle User Guide 中的“多项目构建”一章,以及完整 Gradle 发行版中的许多示例。 -
嗨彼得,但是我们如何构建 Project_B 呢?
-
我不明白这个问题。我建议先研究文档和示例。
-
好的,阅读文档...仍然感觉我们遵循规范(bar 子项目不在子目录中)...缩小到 2 个项目...仍然失败...现在失败在 Eclipes 和命令行中...
-
我不清楚您的目录结构是什么,以及“Project_A 包括 Project_B”是什么意思。无论如何,很可能您的
settings.gradle位于错误的目录中。
标签: java gradle subproject