使用Java 9使“gradle javadoc”任务正常工作
作者:互联网
我有一个使用source / target = 1.9 / 1.9的多模块Gradle Java项目.有两个模块,my.base和my.dependsOnBase. my.base模块没有其他依赖项:
module my.base {
exports my.base.foo;
exports my.base.bar;
}
my.dependsOnBase模块只有一个依赖项,即my.base:
module my.dependsOnBase {
requires my.base;
exports my.dependsOnBase.baz;
}
当我运行$gradle javadoc时,它在my.base上工作正常.但是当它到达my.dependsOnBase时,我得到以下错误输出:
/path/to/my $gradle javadoc
> Task :dependsOnBase:javadoc FAILED
/path/to/my/dependsOnBase/src/main/java/module-info.java:26: error: module not found: my.base
requires my.base;
^
1 error
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':dependsOnBase:javadoc'.
> Javadoc generation failed. Generated Javadoc options file (useful for troubleshooting): '/path/to/my/dependsOnBase/build/tmp/javadoc/javadoc.options'
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
* Get more help at https://help.gradle.org
BUILD FAILED in 2s
7 actionable tasks: 3 executed, 4 up-to-date
在项目的早期,我能够使用以下方法获得Java编译,这也遇到了类似的问题:
compileJava {
inputs.property("moduleName", moduleName)
doFirst {
options.compilerArgs = [
'--module-path', classpath.asPath,
]
classpath = files()
}
}
但是这些属性不能直接应用于Gradle javadoc任务.
我怎样才能让我的Javadoc工作?
解决方法:
这对我有用
javadoc {
inputs.property("moduleName", moduleName)
doFirst {
options.addStringOption('-module-path', classpath.asPath)
}
}
标签:java,gradle,javadoc,java-9,jigsaw 来源: https://codeday.me/bug/20190828/1749206.html