Grails 3.3.10 アプリケーションを Grails 4.0.0 に移行し、Java 8 から OpenJDK 11 に移行しました。テストとアプリケーションを開発環境 (Windows 10 マシン) で実行するためのいくつかの作業の後、実行可能な war をドッカーadoptopenjdk/openjdk11:alpine
。Docker のエントリポイントは、アプリを実行するだけです。
java <some options> -jar /app/application.war
ただし、Docker を実行すると、Micronaut の初期化時にエラーが発生します。
java.util.ServiceConfigurationError: サービスのロード中にエラーが発生しました [org.grails.databinding.converters.$DefaultConvertersConfigurationDefinitionClass]: javax/annotation/PreDestroy
io.micronaut.core.io.service.DefaultServiceDefinition.lambda$load$0(DefaultServiceDefinition.java:71) で
...
原因: java.lang.NoClassDefFoundError: javax/annotation/PreDestroy
...
原因: java.lang.ClassNotFoundException: javax.annotation.PreDestroy
compile 'javax.annotation:javax.annotation-api:1.3.2'
gradle の依存関係を追加しようとしましたが、成功しませんでした。
アプリケーションを実行するために何が欠けていますか?