Leg*_*ato 5 java gradle build.gradle
在 gradle 多项目(java)中,是否可以共享源代码,以便每个项目都可以访问它并对其进行编译?
例如,子项目“mouse”、“cat”、“dog”,分别在每个 - 、Mouse.java Cat.java和中包含一个 java 类Dog.java。这些类中的每一个都扩展了Animal.java.
需要注意的是,当构建任何给定的子项目(例如“鼠标”)时,它会定义一些编译时依赖项(来自 Maven Central),并且需要使用这些依赖项Animal.java进行编译。其他项目也是如此。因此,我无法编译并打包,然后使用该 jar 作为这 3 个项目的依赖项。Animal 必须与依赖项目的源代码一起重新编译。结果应该是 mouse.jar、cat.jar 和dog.jar,每个都位于各自的项目构建目录中(像往常一样),并且每个还包含其 Animal.class 的版本。Animal.java
我知道这个例子不是很直观(因为 Animal 应该足够通用,可以独立编译)。这是我能找到的最好的方法来模拟我试图解决的难以解释的场景。
在 Gradle 中可以做到这一点吗?
谢谢。
使用 sourceSets 解决了这个问题。将父项目主源集添加到子项目中:
例如,添加到build.gradle项目“鼠标”中:
sourceSets {
main.java.srcDir project(':animal').sourceSets.main.java
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3367 次 |
| 最近记录: |