Vaadin lets you build secure, UX-first PWAs entirely in Java.
Free ebook & tutorial.
Widgetset Not Included in Runnable Jar
I have a Vaadin 8 Eclipse Maven GIT project. I am using an embedded Jetty server and so my project isn't set up to create a web application.
When I run the program in Eclipse it works as expected. When I export a runnable jar and run that, the program starts as expected but when I try to load the first page from the browser I get an Info message:
INFO: Requested resource [/VAADIN/widgetsets/ws99c22c5d4a274880e082343cb6f2097e/ws99c22c5d4a274880e082343cb6f2097e.nocache.js] not found from filesystem or through class loader. Add widgetset and/or theme JAR to your classpath or add files to WebContent/VAADIN folder.
and the page does not load. I just get the spinner and, in a few seconds, a "Failed to load" error message from the server.
I can see that the missing file is not in my jar:
dan@psl64b1:~/appliancesjar$ jar -tvf appliances.jar | grep ws99c22c5d4a274880e082343cb6f2097e dan@psl64b1:~/appliancesjar$
Here is where the file resides on disk:
dan@psl64b1:~$ ls -lh ./repos/appliances/SMECustomerAppliances/appliances/target/classes/VAADIN/widgetsets/ws99c22c5d4a274880e082343cb6f2097e/ws99c22c5d4a274880e082343cb6f2097e* -rw-r--r-- 1 dan dan 15K Oct 2 03:59 ./repos/appliances/SMECustomerAppliances/appliances/target/classes/VAADIN/widgetsets/ws99c22c5d4a274880e082343cb6f2097e/ws99c22c5d4a274880e082343cb6f2097e.devmode.js -rw-r--r-- 1 dan dan 4.6K Oct 2 03:59 ./repos/appliances/SMECustomerAppliances/appliances/target/classes/VAADIN/widgetsets/ws99c22c5d4a274880e082343cb6f2097e/ws99c22c5d4a274880e082343cb6f2097e.devmode.js.gz -rw-r--r-- 1 dan dan 7.6K Oct 2 03:59 ./repos/appliances/SMECustomerAppliances/appliances/target/classes/VAADIN/widgetsets/ws99c22c5d4a274880e082343cb6f2097e/ws99c22c5d4a274880e082343cb6f2097e.nocache.js -rw-r--r-- 1 dan dan 2.9K Oct 2 03:59 ./repos/appliances/SMECustomerAppliances/appliances/target/classes/VAADIN/widgetsets/ws99c22c5d4a274880e082343cb6f2097e/ws99c22c5d4a274880e082343cb6f2097e.nocache.js.gz dan@psl64b1:~$
Any thoughts on how to get the widgetset to be included in my runnable jar?
I have found a workaround, which is to create the jar from the command line using maven install. That creates two output jars. Both contain the widgetsets directory and one of them, the one with the name that includes "-with-dependencies", works as expected.