The other day I was toying around with HTTP2 support and Jetty 9.3 on my Ubuntu Server 14.04 VM install. I had mostly followed the helpful instructions in the Jetty: The Definitive Reference on setting up the application as a web server with support for http, https, deploy modules. But whenever I tried to implement HTTP2 support Jetty would fail with an unhelpful Java error dump.
$ java -jar /opt/jetty/start.jar --add-to-startd=http2
org.elecipse.jetty.start.graph.GraphException: Missing referenced dependency: alpn-impl/alpn-1.8.0_45-internal
org.eclipse.jetty.start.graph.GraphException: Missing referenced dependency: alpn-impl/alpn-1.8.0_45-internal
at org.eclipse.jetty.start.graph.Graph.selectNodes(Graph.java:470)
at org.eclipse.jetty.start.graph.Graph.selectNode(Graph.java:447)
at org.eclipse.jetty.start.graph.Graph.selectNode(Graph.java:415)
at org.eclipse.jetty.start.Main.processCommandLine(Main.java:302)
at org.eclipse.jetty.start.Main.main(Main.java:74)
Usage: java -jar start.jar [options] [properties] [configs]
java -jar start.jar --help # for more information
The Jetty log files and Google were equally unhelpful in finding a solution. But after some painful trial and error I worked out a fix.