Vaadin 14.2.0.beta1 is not starting
Dudeplayz opened this issue ยท 10 comments
Hi,
I have tried to use the new Vaadin version but getting the following error on startup:
------------------ Starting Frontend compilation. ------------------
2020-04-29 00:09:46 [vert.x-worker-thread-1] INFO dev-webpack - Running webpack to compile frontend resources. This may take a moment, please stand by...
2020-04-29 00:09:50 [vert.x-worker-thread-1] INFO dev-webpack - Started webpack-dev-server. Time: 41531957ms
Apr. 29, 2020 12:09:50 VORM. io.vertx.core.impl.DeploymentManager
SCHWERWIEGEND: NULL
java.lang.NullPointerException
at com.vaadin.flow.server.startup.ClassLoaderAwareServletContainerInitializer.onStartup(ClassLoaderAwareServletContainerInitializer.java:82)
at com.github.mcollovati.vertx.vaadin.VaadinVerticle.lambda$null$9(VaadinVerticle.java:288)
at io.vertx.core.impl.ContextImpl.lambda$executeBlocking$2(ContextImpl.java:316)
at io.vertx.core.impl.TaskQueue.run(TaskQueue.java:76)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:834)
Vertx-Vaadin-Flow: 14.1.1
It seems to be an error in my environment. I have tested it with 14.1.23
and 14.1.27
too. I will validate it tomorrow.
Thanks for reporting, will take a look at this ASAP
It's a bug in internal fake implementation of ServletContext. A fix is on the way
published 14.1.2-SNAPSHOT if you want to give it a try
It seems to work ๐. Thanks for the fast fix ๐. I am curious about that I was previously on 14.1.23
and first after testing 14.2.0.beta1
it failed too. Can you explain this?
Since flow 2.1.7, shipped with vaadin 14.1.22, many ServletContextInitializer
s implements the newly introduced interface ClassLoaderAwareServletContainerInitializer
, mentioned in javadoc as a workaround for vaadin/flow#7805; code in the interface default method gets the classloader from ServletContext
object.
In vertx-vaadin there's a fake implementation of ServletContext
that implements just a few methods of the interface. Unfortunately getClassloader
was not implemented and returned null;
that's the reason of the NPE at runtime.
Ok, but why worked it with 14.1.23 before ๐ค. Maybe I forgot to clean up some caches and used the previous version.
I honestly don't know how it could have worked on 14.1.23 ๐
@Dudeplayz thanks again for reporting; If you need a stable release please let me know
Currently not, I will let you know if I need it before next release :). And also thanks again for the really fast fix and snapshot!