ext.ApplicationContextException: Unable to start web server; nested exception is java.lang.IllegalStateException: An 'org.eclipse.jetty:jetty-alpn-*-server' dependency is required for HTTP/2 support.
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:163) ~[spring-boot-2.6.2.jar:2.6.2]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:577) ~[spring-context-5.3.14.jar:5.3.14]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) ~[spring-boot-2.6.2.jar:2.6.2]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:730) ~[spring-boot-2.6.2.jar:2.6.2]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:412) ~[spring-boot-2.6.2.jar:2.6.2]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:302) ~[spring-boot-2.6.2.jar:2.6.2]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1301) ~[spring-boot-2.6.2.jar:2.6.2]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1290) ~[spring-boot-2.6.2.jar:2.6.2]
at it.eutelsat.sandvinereplicator.spring.Application.main(Application.java:29) ~[classes/:na]
Caused by: java.lang.IllegalStateException: An 'org.eclipse.jetty:jetty-alpn-*-server' dependency is required for HTTP/2 support.
at org.springframework.boot.web.embedded.jetty.SslServerCustomizer.createAlpnServerConnectionFactory(SslServerCustomizer.java:156) ~[spring-boot-2.6.2.jar:2.6.2]
at org.springframework.boot.web.embedded.jetty.SslServerCustomizer.createHttp2ServerConnector(SslServerCustomizer.java:142) ~[spring-boot-2.6.2.jar:2.6.2]
at org.springframework.boot.web.embedded.jetty.SslServerCustomizer.createServerConnector(SslServerCustomizer.java:103) ~[spring-boot-2.6.2.jar:2.6.2]
at org.springframework.boot.web.embedded.jetty.SslServerCustomizer.createConnector(SslServerCustomizer.java:88) ~[spring-boot-2.6.2.jar:2.6.2]
at org.springframework.boot.web.embedded.jetty.SslServerCustomizer.customize(SslServerCustomizer.java:77) ~[spring-boot-2.6.2.jar:2.6.2]
at org.springframework.boot.web.embedded.jetty.JettyServletWebServerFactory.customizeSsl(JettyServletWebServerFactory.java:225) ~[spring-boot-2.6.2.jar:2.6.2]
at org.springframework.boot.web.embedded.jetty.JettyServletWebServerFactory.getWebServer(JettyServletWebServerFactory.java:168) ~[spring-boot-2.6.2.jar:2.6.2]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:182) ~[spring-boot-2.6.2.jar:2.6.2]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:160) ~[spring-boot-2.6.2.jar:2.6.2]
... 8 common frames omitted
Caused by: java.lang.IllegalStateException: No Server ALPNProcessors!
at org.eclipse.jetty.alpn.server.ALPNServerConnectionFactory.<init>(ALPNServerConnectionFactory.java:52) ~[jetty-alpn-server-9.4.44.v20210927.jar:9.4.44.v20210927]
at org.springframework.boot.web.embedded.jetty.SslServerCustomizer.createAlpnServerConnectionFactory(SslServerCustomizer.java:153) ~[spring-boot-2.6.2.jar:2.6.2]
... 16 common frames omitted
Suppressed: java.lang.UnsatisfiedLinkError: /tmp/libconscrypt_openjdk_jni-linux-x86_6416443245032090000.so: Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /tmp/libconscrypt_openjdk_jni-linux-x86_6416443245032090000.so)
at java.base/jdk.internal.loader.NativeLibraries.load(Native Method) ~[na:na]
at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(NativeLibraries.java:388) ~[na:na]
at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:232) ~[na:na]
at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:174) ~[na:na]
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2389) ~[na:na]
at java.base/java.lang.Runtime.load0(Runtime.java:755) ~[na:na]
at java.base/java.lang.System.load(System.java:1953) ~[na:na]
at org.conscrypt.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:52) ~[conscrypt-openjdk-uber-2.5.2.jar:2.5.2]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]
at org.conscrypt.NativeLibraryLoader$1.run(NativeLibraryLoader.java:297) ~[conscrypt-openjdk-uber-2.5.2.jar:2.5.2]
at org.conscrypt.NativeLibraryLoader$1.run(NativeLibraryLoader.java:289) ~[conscrypt-openjdk-uber-2.5.2.jar:2.5.2]
at java.base/java.security.AccessController.doPrivileged(AccessController.java:318) ~[na:na]
at org.conscrypt.NativeLibraryLoader.loadLibraryFromHelperClassloader(NativeLibraryLoader.java:289) ~[conscrypt-openjdk-uber-2.5.2.jar:2.5.2]
at org.conscrypt.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:262) ~[conscrypt-openjdk-uber-2.5.2.jar:2.5.2]
at org.conscrypt.NativeLibraryLoader.loadFromWorkdir(NativeLibraryLoader.java:201) ~[conscrypt-openjdk-uber-2.5.2.jar:2.5.2]
at org.conscrypt.NativeLibraryLoader.load(NativeLibraryLoader.java:162) ~[conscrypt-openjdk-uber-2.5.2.jar:2.5.2]
at org.conscrypt.NativeLibraryLoader.loadFirstAvailable(NativeLibraryLoader.java:106) ~[conscrypt-openjdk-uber-2.5.2.jar:2.5.2]
at org.conscrypt.NativeCryptoJni.init(NativeCryptoJni.java:50) ~[conscrypt-openjdk-uber-2.5.2.jar:2.5.2]
at org.conscrypt.NativeCrypto.<clinit>(NativeCrypto.java:64) ~[conscrypt-openjdk-uber-2.5.2.jar:2.5.2]
at org.conscrypt.OpenSSLProvider.<init>(OpenSSLProvider.java:58) ~[conscrypt-openjdk-uber-2.5.2.jar:2.5.2]
at org.conscrypt.OpenSSLProvider.<init>(OpenSSLProvider.java:51) ~[conscrypt-openjdk-uber-2.5.2.jar:2.5.2]
at org.conscrypt.OpenSSLProvider.<init>(OpenSSLProvider.java:47) ~[conscrypt-openjdk-uber-2.5.2.jar:2.5.2]
at org.eclipse.jetty.alpn.conscrypt.server.ConscryptServerALPNProcessor.init(ConscryptServerALPNProcessor.java:46) ~[jetty-alpn-conscrypt-server-9.4.44.v20210927.jar:9.4.44.v20210927]
at org.eclipse.jetty.alpn.server.ALPNServerConnectionFactory.<init>(ALPNServerConnectionFactory.java:72) ~[jetty-alpn-server-9.4.44.v20210927.jar:9.4.44.v20210927]
... 17 common frames omitted
Suppressed: java.lang.UnsatisfiedLinkError: /tmp/libconscrypt_openjdk_jni-linux-x86_6416443245032090000.so: Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /tmp/libconscrypt_openjdk_jni-linux-x86_6416443245032090000.so)
at java.base/jdk.internal.loader.NativeLibraries.load(Native Method)
at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(NativeLibraries.java:388)
at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:232)
at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:174)
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2389)
at java.base/java.lang.Runtime.load0(Runtime.java:755)
at java.base/java.lang.System.load(System.java:1953)
at org.conscrypt.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:52)
at org.conscrypt.NativeLibraryLoader.loadLibraryFromCurrentClassloader(NativeLibraryLoader.java:318)
at org.conscrypt.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:273)
... 27 common frames omitted
Cambiando distribuzione e mettendo Centos funziona che mi fa pensare fortemente che manca qualcosa che devo installare in Alpine
Usando Centos la mia immagine docker cresce da 141 Mb vs 265 MB e per uniformità di distribuzione con tutto il resto volevo cercare di tenere Alpine.
Qualcuno ha già fatto questa strada e mi sa dire i pacchetti da aggiungere alla Alpine per far funzionare il tutto ?
PS : Ho provato con Alpine e Spring boot a NON usare Conscrypt ma la parte java di Jetty per http2 e tutto funziona.
Grazie e Buona giornata