I am facing a problem running your component with Vaadin 14.7.5.
Running it with 14.5.4, the version you used, causes no problem.
But with 14.7.5 I get a:
Caused by: java.lang.NoSuchMethodError: org.jsoup.nodes.Element.traverse(Lorg/jsoup/select/NodeVisitor;)Lorg/jsoup/nodes/Element;
at com.vaadin.flow.component.polymertemplate.TemplateDataAnalyzer.inspectTwoWayBindings(TemplateDataAnalyzer.java:244) ~[flow-server-2.7.4.jar:2.7.4]
at com.vaadin.flow.component.polymertemplate.TemplateDataAnalyzer.parseTemplate(TemplateDataAnalyzer.java:233) ~[flow-server-2.7.4.jar:2.7.4]
at com.vaadin.flow.component.polymertemplate.TemplateInitializer.<init>(TemplateInitializer.java:96) ~[flow-server-2.7.4.jar:2.7.4]
at com.vaadin.flow.component.polymertemplate.PolymerTemplate.<init>(PolymerTemplate.java:91) ~[flow-server-2.7.4.jar:2.7.4]
at com.vaadin.flow.component.polymertemplate.PolymerTemplate.<init>(PolymerTemplate.java:106) ~[flow-server-2.7.4.jar:2.7.4]
at org.vaadin.erik.SlideTab.<init>(SlideTab.java:51) ~[slidetab-3.0.1.jar:3.0.1]
at org.vaadin.erik.SlideTabBuilder.build(SlideTabBuilder.java:228) ~[slidetab-3.0.1.jar:3.0.1]
Somehow the JSoup versions seem to be incompatible.
Is it possible to provide a SlideTab version compiled with a newer Vaadin 14 version?
I can reproduce your problem, but it does not seem related to this component, even though it’s mentioned in the stack trace.
In my case the incompatible version came from the webdrivermanager dependency, and upgrading it from 3.8.1 to 5.0.3 fixed the issue. The same was done in this [Vaadin skeleton-starter-flow PR]
(https://github.com/vaadin/skeleton-starter-flow/pull/503).
I believe the issue only appears when you’re using a component that uses the PolymerTemplate, like the SlideTab does, which is why you’re seeing the SlideTab in the stack trace. :)
sorry I am not so familiar with Maven and all the parts involved in Vaadin.
As I see the main problem is that the flow-server-2.7.4.jar is not compatible with the used jsoup.jar.
But without using the SlideTab everything is fine. So do we get a bad (old) JSoup dependency through the SlideTab that does not match with the newer flow-server?
Can this be fixed anyhow with changing the Maven configuration?
Sorry if I was unclear. The SlideTab does not bring in any jsoup dependency. The problem is that something else is bringing in an incompatible version of jsoup. The problem only appears when you add the SlideTab dependency, because SlideTab extends PolymerTemplate, which in turn uses some method in jsoup that is different in the old jsoup version. You would get the error also without SlideTab if you have some other component that extends PolymerTemplate.
To find where the incompatible jsoup version is coming from, you can run mvn dependency:tree -Dincludes=:jsoup
(note the : before jsoup)
Hi Erik,
yes, seems to be the same problem on my side.
Since I have no tests in this project I commented webdrivermanager and vaadin-testbench out and now it is running :-)
Thank you very much!