我想用Java 11对Gradle项目进行模块化。不幸的是,我的许多依赖项尚未模块化。结果,我的module-info.java
包含许多自动模块,这些模块是从依赖项名称派生的。另外,我关注了this Gradle tutorial,并将其添加到了build.gradle
中:
compileJava {
inputs.property("moduleName", moduleName)
doFirst {
options.compilerArgs = [
'--module-path', classpath.asPath,
]
classpath = files()
}
}
这里的最大问题是,许多依赖项包含相同的pachage名称,这会触发构建在许多类型的实例上失败:
error: module MMMM.MMMM reads package PPPP.PPPP from both AAAA.AAAA and BBBB.BBBB
我想要做的是 tell Gradle将模块化的依赖项添加到modulepath,并将冲突的依赖项保留在classpath中。那有可能吗?如何?