我想用 Java 11 模块化我的 Gradle 项目。不幸的是,我的许多依赖项还不是模块化的。因此,mymodule-info.java
包含许多从依赖名称派生的自动模块。另外,我遵循了这个 Gradle 教程并将其添加到我的build.gradle
:
compileJava {
inputs.property("moduleName", moduleName)
doFirst {
options.compilerArgs = [
'--module-path', classpath.asPath,
]
classpath = files()
}
}
这里的大问题是许多依赖项包含相同的包名称,这会触发构建在许多类型实例上失败:
error: module MMMM.MMMM reads package PPPP.PPPP from both AAAA.AAAA and BBBB.BBBB
我想做的是告诉 Gradle 将模块化依赖项添加到模块路径中,并将冲突的依赖项保留在 classpath 中。这有可能吗,怎么做?