gpt4 book ai didi

java - Gradle多项目-在项目之间共享源代码

转载 作者:行者123 更新时间:2023-12-02 10:50:35 24 4
gpt4 key购买 nike

在 gradle 多项目(java)中,是否可以共享源代码,以便每个项目都可以访问它并对其进行编译?

例如,子项目“mouse”、“cat”、“dog”,每个子项目都包含一个 java 类 - Mouse.java Cat.java,以及分别是Dog.java。这些类中的每一个都扩展Animal.java

需要注意的是,当构建任何给定的子项目(例如“鼠标”)时,它会定义一些编译时依赖项(来自 Maven Central),并且需要 Animal.java 使用这些依赖项进行编译。其他项目也是如此。因此,我无法编译并打包 Animal.java,然后使用该 jar 作为 3 个项目的依赖项。 Animal 必须与依赖项目的源代码一起重新编译。结果应该是 mouse.jar、cat.jar 和dog.jar,每个都位于各自的项目构建目录中(像往常一样),并且每个还包含其 Animal.class 版本。

我知道这个例子不是很直观(因为 Animal 应该足够通用,可以独立编译)。这是我能找到的最好的方法来模拟我试图解决的难以解释的场景。

这可以在 Gradle 中实现吗?

谢谢。

最佳答案

使用 sourceSets 解决了这个问题。将父项目主源集添加到子项目中:

例如,添加到项目“mouse”的 build.gradle 中:

sourceSets {
main.java.srcDir project(':animal').sourceSets.main.java
}

关于java - Gradle多项目-在项目之间共享源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31989917/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com