0
我有两个项目A和B位于一个存储库内。 B使用A中的一些函数,所以我想在运行B之前编译A。我发现这可以使用Gradle组合构建完成。我创建了如下结构的Gradle项目。Java Gradle Composite构建无法解决问题
结构:
|
|--A
| |src
| |build.gradle
| |settings.gradle
|
|--B
| |src
| |build.gradle
| |settings.gradle
A.build.gradle:
apply plugin: 'idea'
subprojects {
apply plugin: 'java'
apply plugin: 'idea'
group "com.check"
version "1.0"
repositories {
jcenter()
}
}
A.settings.gradle:
rootProject.name = 'A'
B.build.gradle:
apply plugin: 'java'
apply plugin: 'application'
apply plugin: 'idea'
group "com.check"
version "1.0"
mainClassName = "com.check.B.Inititate"
dependencies {
compile "com.check:A:1.0"
}
repositories {
jcenter()
}
B.settings.gradle:
rootProject.name = 'B'
B类项目启动方法:
package com.try.run;
import com.check.A.check;
public class Initiate {
public static void main(String[] args) {
System.out.println(check.ret());
}
}
构建此使用gradle这个我得到以下错误
CONFIGURE SUCCESSFUL
Total time: 0.268 secs
Could not resolve: com.check:A:1.0
注:我使用ecilipse氧版本和运行的gradle刷新项目,建立项目
在你的例子中,你在** A **的'build.gradle'中有'subprojects'块 - 它不会将它应用到根项目。另外,你如何告诉Gradle有关复合构建设置?你在命令行中使用了'--include-build'还是你想在** B **的'settings.gradle'中使用'includeBuild'? – mkobit
@mkobit我错过了包含构建。请在下面找到我的答案。请让我知道是否有更多的东西应该改变。 – The6thSense