我有两个项目ProjA和ProjB,这里ProjB依赖于ProjA。那么,如何在ProjB中包含ProjA? 如果ProjA build.gradle文件发生变化,请告诉我?
答案 0 :(得分:0)
好的,你有两个项目,而ProjA依赖于ProjB。
如果您已经为这些设置了gradle构建,那么它们都将具有文件settings.gradle,它至少定义了项目名称和build.gradle,您可以在其中指定依赖项。
实施例: settings.gradle
rootProject.name = 'ProjA'
的build.gradle
group = 'mygroup'
version = '1.0'
通过进一步添加Gradle的一个发布插件(请参阅Maven publishing或Ivy publishing),您可以配置发布。反过来,出版物包含工件,即您要上载的文件(通常还有一些存储库)。 最小Maven出版物的示例:
apply plugin: 'maven-publish'
publishing {
publications {
core(MavenPublication) {
from components.java
}
}
}
maven-publish插件会将任务publishToMavenLocal
(以及其他)添加到您的项目中,该项目将jar安装到~/.gradle/caches/
的某个位置。
在ProjB的build.gradle中,您可以在ProjA上定义编译时依赖项,如下所示:
dependencies {
compile(group: 'mygroup', name: 'ProjA', version: '1.0')
}
答案 1 :(得分:0)
如果您的项目位于同一地点,您可以拥有一个多建筑项目。
假设您有一个包含以下内容的根文件夹:
project-a.gradle
project-b.gradle
build.gradle
settings.gradle
settings.gradle
包含:
include 'project-a', 'project-b'
然后 project-b.gradle
取决于项目A:
dependencies {
compile project(':project-a')
}
在此之后,项目a将始终在project-b之前编译和汇编,而项目的jar文件 - 在编译project-b时jar将在类路径上。