在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)
这将失败,因为sourceCompatibility并targetCompatibility通过定义java和java-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 ×1