java-17-amazon-corretto に javadoc が入っていないという落とし穴

事象

Bitbucket Pipelines で使っているカスタマイズの Dockerイメージを jdk11 -> jdk17 にバージョンアップしたところ、javadoc でエラーが発生

See https://docs.gradle.org/7.4.2/userguide/command_line_interface.html#sec:command_line_warnings
6 actionable tasks: 6 executed
    at org.gradle.process.internal.DefaultExecHandle.failed(DefaultExecHandle.java:369)
    at org.gradle.process.internal.ExecHandleRunner.run(ExecHandleRunner.java:87)
    at org.gradle.internal.operations.CurrentBuildOperationPreservingRunnable.run(CurrentBuildOperationPreservingRunnable.java:42)
    ... 2 more
Caused by: net.rubygrapefruit.platform.NativeException: Could not start '/usr/lib/jvm/java-17-amazon-corretto.x86_64/bin/javadoc'
    at net.rubygrapefruit.platform.internal.DefaultProcessLauncher.start(DefaultProcessLauncher.java:27)
    at net.rubygrapefruit.platform.internal.WrapperProcessLauncher.start(WrapperProcessLauncher.java:36)
    at org.gradle.process.internal.ExecHandleRunner.startProcess(ExecHandleRunner.java:98)
    at org.gradle.process.internal.ExecHandleRunner.run(ExecHandleRunner.java:71)
    ... 3 more
Caused by: java.io.IOException: Cannot run program "/usr/lib/jvm/java-17-amazon-corretto.x86_64/bin/javadoc" (in directory "/opt/atlassian/pipelines/agent/build"): error=2, No such file or directory
    at net.rubygrapefruit.platform.internal.DefaultProcessLauncher.start(DefaultProcessLauncher.java:25)
    ... 6 more
Caused by: java.io.IOException: error=2, No such file or directory
    ... 7 more

簡単に言うと、javadoc が無ぇぞ!とのこと

同じ事象でお悩みの方へ

解決済みなので、Dockerfile ほしい人はどぞ ↓

github.com

確認

docker run --entrypoint sh -it {image名}
javadoc --version
sh: javadoc: command not found

確かに javadoc が無い…

原因

何かいっぱい増えてるやん…

docs.aws.amazon.com

…というわけで、java-17-amazon-correttoではなく、java-17-amazon-corretto-develをインストールするようにしましょう。

これで無事に javadoc が通りました。

以上。