Java 11 Support for Vaadin Framework 8.x - Date?

Hi there!

Is there a planned/estimated date for the release of a Framework 8.x version that will support Java 11?

Many thanks in advance!

Best regards,
Frank

Hi,

have you found some issue on Java 11 release candidate perhaps?

-Olli

Nope, just curious about it.
We are planning our java upgrade paths and we want to be sure that we will be able to use Framework 8.x with Java 11 without issues. Otherwise we have to find an alternative for Framework 8.

Hi,

I had a chance to test Vaadin8 application today with jdk11 and I haven’t faced any issues. (Widgetset compilation succeed and no other errors have occurred)
I have tried simple Vaadin project from archetype with charts and custom add-on from directory. Also, vaadin8 application from widget archetype worked fine.
We will yet need to investigate Vaadin8+Spring+jdk11 , but so far there were no problems found nor reported.

Best regards,

Anastasia

Vaadin8+Spring+jdk11 is the setup we are using too (plus Boot), so any insight on that would be very much appreciated. Thanks for replying!

We’re switching to OpenJdk 11 now and I get the following compile-error:

error: focus() in AbstractComponent cannot implement focus() in Focusable
  attempting to assign weaker access privileges; was public

Focusable is defined as `public’:

public void focus();

AbstractComponent, that implements Component but not Focusable, also provides a method focus() that is protected.

Some Extentions of AbstractComponent implement also Focusable. There the method focus() is overridden with public:

    @Override
    public void focus() {
        // Overridden only to make public
        super.focus();
    }

Maybe the problem lies in a custom Component, that extends AbstractComponent and Focusable, but does not override focus().

Can you check this issue for more details about this https://github.com/vaadin/framework/issues/11687

@Tatu, thanks for the link. We checked ourselves too, and fixed the problem as follows:

Stream.<AbstractComponent>of(...).forEach(c -> c.setEnabled(enabled));
Stream.of(component1, component2).forEach(HasValue::clear)