小编Dra*_*sin的帖子

Gradle java-library插件与java插件相比

Java-library插件的Gradle文档中,它指出:

Java Library插件通过提供有关Java库的特定知识来扩展Java插件的功能.特别是,Java库向消费者公开API(即使用Java或Java库插件的其他项目)

这句话暗示只有要使用的java程序(库)应该使用该java-library插件; 而不应该使用的java程序(应用程序)应该使用该java插件.

在使用java-library插件之前,根build.gradle文件可能包含以下内容:

subprojects {
    apply plugin: 'java'
    sourceCompatibility '1.8'
    targetCompatibility '1.8'

    // other common java stuff
}
Run Code Online (Sandbox Code Playgroud)

但是现在在具有应用程序和库的多模块项目中,您无法将插件选择委托给子项目并具有以下根目录build.gradle:

subprojects {
    sourceCompatibility '1.8'
    targetCompatibility '1.8'

    // other common java stuff
}
Run Code Online (Sandbox Code Playgroud)

这将失败,因为sourceCompatibilitytargetCompatibility通过定义javajava-library插件.理想情况下,我想做以下事情:

subprojects {
    apply plugin: 'java-library'
    sourceCompatibility '1.8'
    targetCompatibility '1.8'

    // other common java stuff
}
Run Code Online (Sandbox Code Playgroud)

是否有任何理由强制java应用程序使用该java插件并且java库使用该java-library插件?是否有任何理由java应该使用java-library插件而不是插件?

编辑 …

gradle

8
推荐指数
1
解决办法
4689
查看次数

标签 统计

gradle ×1