2018年8月19日 星期日

[Java] JavaDoc cannot find Lombok symbols

使用 Lombok 之後,要產生 JavaDoc 會出現以下的警告訊息:

...
Foo.java:3: error: cannot find symbol
@Log4j2
 ^
  symbol: class Log4j2
javadoc: warning - Class Data not found.
javadoc: warning - Class AllArgsConstructor not found.
javadoc: warning - Class Getter not found.
javadoc: warning - Class Log4j2 not found.

一個簡單的解決方法就是把 Lombok 標記解譯,

// build.gradle
apply plugin: 'io.franzbecker.gradle-lombok' version '1.8'

import io.franzbecker.gradle.lombok.task.DelombokTask
task delombok(type: DelombokTask) {
    ext.outputDir = file("$buildDir/delombok")
    outputs.dir(outputDir)
    sourceSets.main.java.srcDirs.each {
        inputs.dir(it)
        args(it, "-d", outputDir)
    }
}

javadoc {
    dependsOn delombok
    source = delombok.outputDir
    failOnError = false
}

參考資料:

沒有留言:

張貼留言

[Java] Invalid HTTP method: PATCH

最近系統需要使用 Netty4,所以把衝突的 Netty3 拆掉,然後就出現了例外。 pom.xml <dependency> <groupId>com.ning</groupId> <artifactId>as...