Code Monkey home page Code Monkey logo

skeleton-starter-flow-spring's Introduction

Project Base for Vaadin and Spring Boot

This project can be used as a starting point to create your own Vaadin application with Spring Boot. It contains all the necessary configuration and some placeholder files to get you started.

The best way to create your own project based on this starter is start.vaadin.com - you can get only the necessary parts and choose the package naming you want to use.

Running the Application

There are two ways to run the application : using mvn spring-boot:run or by running the Application class directly from your IDE.

You can use any IDE of your preference,but we suggest Eclipse or Intellij IDEA. Below are the configuration details to start the project using a spring-boot:run command. Both Eclipse and Intellij IDEA are covered.

Eclipse

  • Right click on a project folder and select Run As --> Maven build.. . After that a configuration window is opened.
  • In the window set the value of the Goals field to spring-boot:run
  • You can optionally select Skip tests checkbox
  • All the other settings can be left to default

Once configurations are set clicking Run will start the application

Intellij IDEA

  • On the right side of the window, select Maven --> Plugins--> spring-boot --> spring-boot:run goal
  • Optionally, you can disable tests by clicking on a Skip Tests mode blue button.

Clicking on the green run button will start the application.

After the application has started, you can view your it at http://localhost:8080/ in your browser.

If you want to run the application locally in the production mode, use spring-boot:run -Pproduction command instead.

Running Integration Tests

Integration tests are implemented using Vaadin TestBench. The tests take a few minutes to run and are therefore included in a separate Maven profile. We recommend running tests with a production build to minimize the chance of development time toolchains affecting test stability. To run the tests using Google Chrome, execute

mvn verify -Pit,production

and make sure you have a valid TestBench license installed.

Structure

Vaadin web applications are full-stack and include both client-side and server-side code in the same project.

Directory Description
frontend/ Client-side source directory
    index.html HTML template
    index.ts Frontend entrypoint
    main-layout.ts Main layout Web Component (optional)
    views/ UI views Web Components (TypeScript / HTML)
    styles/ Styles directory (CSS)
src/main/java/<groupId>/ Server-side source directory
    Application.java Server entrypoint
    AppShell.java application-shell configuration

Useful links

skeleton-starter-flow-spring's People

Contributors

ahie avatar alvarezguille avatar anasmi avatar anssit avatar artur- avatar caalador avatar gilberto-torrezan avatar haijian-vaadin avatar johannesh2 avatar jojule avatar jouni avatar juhopiirainen avatar legioth avatar manolo avatar mehdi-vaadin avatar mikotin avatar mshabarov avatar mstahv avatar pekam avatar platosha avatar pleku avatar samie avatar shadikhani avatar someonetoignore avatar taefi avatar tarekoraby avatar torok-peter avatar ujoni avatar vaadin-bot avatar zhesun88 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

skeleton-starter-flow-spring's Issues

pick the 14.x changes from #275 into 15.x

When starting a Vaadin project with start.vaadin.com I expect that the V14 and V15 versions of this starter are as close as possible, and all differences are due to changes in the Vaadin framework, not because some generic updates were done to the V14 version of the starter but not to the V15 version.

DoD:

  • the master branch is merged into the ccdm branch with a merge commit so that the diff appears empty.

Dependency convergence problems

Running the dependencyConvergence rule using the maven-enforcer-plugin reveals the following problems with the project:

[WARNING] 
Dependency convergence error for org.slf4j:slf4j-api:1.7.12 paths to dependency are:
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:vaadin:10.0.0-alpha6
    +-com.vaadin:flow-server:1.0.0.alpha9
      +-com.helger:ph-css:4.1.3
        +-com.helger:ph-commons:6.2.4
          +-org.slf4j:slf4j-api:1.7.12
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:vaadin:10.0.0-alpha6
    +-com.vaadin:flow-server:1.0.0.alpha9
      +-org.webjars:webjars-locator-core:0.32
        +-org.slf4j:slf4j-api:1.7.7
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-org.springframework.boot:spring-boot-starter-web:1.5.7.RELEASE
      +-org.springframework.boot:spring-boot-starter:1.5.7.RELEASE
        +-org.springframework.boot:spring-boot-starter-logging:1.5.7.RELEASE
          +-ch.qos.logback:logback-classic:1.1.11
            +-org.slf4j:slf4j-api:1.7.22
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-org.springframework.boot:spring-boot-starter-web:1.5.7.RELEASE
      +-org.springframework.boot:spring-boot-starter:1.5.7.RELEASE
        +-org.springframework.boot:spring-boot-starter-logging:1.5.7.RELEASE
          +-org.slf4j:jcl-over-slf4j:1.7.25
            +-org.slf4j:slf4j-api:1.7.25
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-org.springframework.boot:spring-boot-starter-web:1.5.7.RELEASE
      +-org.springframework.boot:spring-boot-starter:1.5.7.RELEASE
        +-org.springframework.boot:spring-boot-starter-logging:1.5.7.RELEASE
          +-org.slf4j:jul-to-slf4j:1.7.25
            +-org.slf4j:slf4j-api:1.7.25
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-org.springframework.boot:spring-boot-starter-web:1.5.7.RELEASE
      +-org.springframework.boot:spring-boot-starter:1.5.7.RELEASE
        +-org.springframework.boot:spring-boot-starter-logging:1.5.7.RELEASE
          +-org.slf4j:log4j-over-slf4j:1.7.25
            +-org.slf4j:slf4j-api:1.7.25

[WARNING] 
Dependency convergence error for com.vaadin:flow-components:1.0.0.alpha9 paths to dependency are:
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:vaadin:10.0.0-alpha6
    +-com.vaadin:flow-components:1.0.0.alpha9
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-components:1.0.0.alpha10

[WARNING] 
Dependency convergence error for com.vaadin:flow-server:1.0.0.alpha9 paths to dependency are:
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:vaadin:10.0.0-alpha6
    +-com.vaadin:flow-server:1.0.0.alpha9
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:vaadin:10.0.0-alpha6
    +-com.vaadin:flow-data:1.0.0.alpha9
      +-com.vaadin:flow-server:1.0.0.alpha9
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:vaadin:10.0.0-alpha6
    +-com.vaadin:flow-html-components:1.0.0.alpha9
      +-com.vaadin:flow-server:1.0.0.alpha9
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-com.vaadin:flow-spring-addon:1.0.0.alpha10
      +-com.vaadin:flow:1.0.0.alpha10
        +-com.vaadin:flow-server:1.0.0.alpha10

[WARNING] 
Dependency convergence error for org.springframework.boot:spring-boot:1.5.7.RELEASE paths to dependency are:
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-org.springframework.boot:spring-boot-starter-web:1.5.7.RELEASE
      +-org.springframework.boot:spring-boot-starter:1.5.7.RELEASE
        +-org.springframework.boot:spring-boot:1.5.7.RELEASE
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-org.springframework.boot:spring-boot-devtools:1.5.8.RELEASE
    +-org.springframework.boot:spring-boot:1.5.8.RELEASE

[WARNING] 
Dependency convergence error for org.springframework:spring-core:4.3.12.RELEASE paths to dependency are:
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-com.vaadin:flow-spring-addon:1.0.0.alpha10
      +-org.springframework:spring-webmvc:4.3.12.RELEASE
        +-org.springframework:spring-aop:4.3.12.RELEASE
          +-org.springframework:spring-core:4.3.12.RELEASE
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-com.vaadin:flow-spring-addon:1.0.0.alpha10
      +-org.springframework:spring-webmvc:4.3.12.RELEASE
        +-org.springframework:spring-beans:4.3.12.RELEASE
          +-org.springframework:spring-core:4.3.12.RELEASE
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-com.vaadin:flow-spring-addon:1.0.0.alpha10
      +-org.springframework:spring-webmvc:4.3.12.RELEASE
        +-org.springframework:spring-core:4.3.12.RELEASE
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-com.vaadin:flow-spring-addon:1.0.0.alpha10
      +-org.springframework:spring-webmvc:4.3.12.RELEASE
        +-org.springframework:spring-expression:4.3.12.RELEASE
          +-org.springframework:spring-core:4.3.12.RELEASE
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-org.springframework.boot:spring-boot-starter-web:1.5.7.RELEASE
      +-org.springframework.boot:spring-boot-starter:1.5.7.RELEASE
        +-org.springframework:spring-core:4.3.11.RELEASE

[WARNING] 
Dependency convergence error for com.vaadin:flow-client:1.0.0.alpha9 paths to dependency are:
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:vaadin:10.0.0-alpha6
    +-com.vaadin:flow-client:1.0.0.alpha9
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-com.vaadin:flow-spring-addon:1.0.0.alpha10
      +-com.vaadin:flow:1.0.0.alpha10
        +-com.vaadin:flow-client:1.0.0.alpha10

[WARNING] 
Dependency convergence error for com.vaadin:flow-push:1.0.0.alpha9 paths to dependency are:
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:vaadin:10.0.0-alpha6
    +-com.vaadin:flow-server:1.0.0.alpha9
      +-com.vaadin:flow-push:1.0.0.alpha9
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:vaadin:10.0.0-alpha6
    +-com.vaadin:flow-push:1.0.0.alpha9
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-com.vaadin:flow-spring-addon:1.0.0.alpha10
      +-com.vaadin:flow:1.0.0.alpha10
        +-com.vaadin:flow-push:1.0.0.alpha10

[WARNING] 
Dependency convergence error for org.springframework:spring-webmvc:4.3.12.RELEASE paths to dependency are:
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-com.vaadin:flow-spring-addon:1.0.0.alpha10
      +-org.springframework:spring-webmvc:4.3.12.RELEASE
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-org.springframework.boot:spring-boot-starter-web:1.5.7.RELEASE
      +-org.springframework:spring-webmvc:4.3.11.RELEASE

[WARNING] 
Dependency convergence error for javax.validation:validation-api:2.0.0.Final paths to dependency are:
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:vaadin:10.0.0-alpha6
    +-com.vaadin:flow-data:1.0.0.alpha9
      +-javax.validation:validation-api:2.0.0.Final
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-org.springframework.boot:spring-boot-starter-web:1.5.7.RELEASE
      +-org.hibernate:hibernate-validator:5.3.5.Final
        +-javax.validation:validation-api:1.1.0.Final

[WARNING] 
Dependency convergence error for com.fasterxml.jackson.core:jackson-core:2.7.3 paths to dependency are:
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:vaadin:10.0.0-alpha6
    +-com.vaadin:flow-server:1.0.0.alpha9
      +-org.webjars:webjars-locator-core:0.32
        +-com.fasterxml.jackson.core:jackson-core:2.7.3
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-org.springframework.boot:spring-boot-starter-web:1.5.7.RELEASE
      +-com.fasterxml.jackson.core:jackson-databind:2.8.10
        +-com.fasterxml.jackson.core:jackson-core:2.8.10

[WARNING] 
Dependency convergence error for org.springframework:spring-web:4.3.12.RELEASE paths to dependency are:
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-com.vaadin:flow-spring-addon:1.0.0.alpha10
      +-org.springframework:spring-webmvc:4.3.12.RELEASE
        +-org.springframework:spring-web:4.3.12.RELEASE
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-org.springframework.boot:spring-boot-starter-web:1.5.7.RELEASE
      +-org.springframework:spring-web:4.3.11.RELEASE

[WARNING] 
Dependency convergence error for org.springframework.boot:spring-boot-autoconfigure:1.5.7.RELEASE paths to dependency are:
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-org.springframework.boot:spring-boot-starter-web:1.5.7.RELEASE
      +-org.springframework.boot:spring-boot-starter:1.5.7.RELEASE
        +-org.springframework.boot:spring-boot-autoconfigure:1.5.7.RELEASE
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-org.springframework.boot:spring-boot-devtools:1.5.8.RELEASE
    +-org.springframework.boot:spring-boot-autoconfigure:1.5.8.RELEASE

[WARNING] 
Dependency convergence error for com.vaadin:flow-html-components:1.0.0.alpha9 paths to dependency are:
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:vaadin:10.0.0-alpha6
    +-com.vaadin:flow-html-components:1.0.0.alpha9
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-com.vaadin:flow-spring-addon:1.0.0.alpha10
      +-com.vaadin:flow:1.0.0.alpha10
        +-com.vaadin:flow-html-components:1.0.0.alpha10
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-com.vaadin:flow-html-components:1.0.0.alpha10

[WARNING] Rule 1: org.apache.maven.plugins.enforcer.DependencyConvergence failed with message:
Failed while enforcing releasability the error(s) are [
Dependency convergence error for org.slf4j:slf4j-api:1.7.12 paths to dependency are:
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:vaadin:10.0.0-alpha6
    +-com.vaadin:flow-server:1.0.0.alpha9
      +-com.helger:ph-css:4.1.3
        +-com.helger:ph-commons:6.2.4
          +-org.slf4j:slf4j-api:1.7.12
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:vaadin:10.0.0-alpha6
    +-com.vaadin:flow-server:1.0.0.alpha9
      +-org.webjars:webjars-locator-core:0.32
        +-org.slf4j:slf4j-api:1.7.7
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-org.springframework.boot:spring-boot-starter-web:1.5.7.RELEASE
      +-org.springframework.boot:spring-boot-starter:1.5.7.RELEASE
        +-org.springframework.boot:spring-boot-starter-logging:1.5.7.RELEASE
          +-ch.qos.logback:logback-classic:1.1.11
            +-org.slf4j:slf4j-api:1.7.22
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-org.springframework.boot:spring-boot-starter-web:1.5.7.RELEASE
      +-org.springframework.boot:spring-boot-starter:1.5.7.RELEASE
        +-org.springframework.boot:spring-boot-starter-logging:1.5.7.RELEASE
          +-org.slf4j:jcl-over-slf4j:1.7.25
            +-org.slf4j:slf4j-api:1.7.25
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-org.springframework.boot:spring-boot-starter-web:1.5.7.RELEASE
      +-org.springframework.boot:spring-boot-starter:1.5.7.RELEASE
        +-org.springframework.boot:spring-boot-starter-logging:1.5.7.RELEASE
          +-org.slf4j:jul-to-slf4j:1.7.25
            +-org.slf4j:slf4j-api:1.7.25
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-org.springframework.boot:spring-boot-starter-web:1.5.7.RELEASE
      +-org.springframework.boot:spring-boot-starter:1.5.7.RELEASE
        +-org.springframework.boot:spring-boot-starter-logging:1.5.7.RELEASE
          +-org.slf4j:log4j-over-slf4j:1.7.25
            +-org.slf4j:slf4j-api:1.7.25
, 
Dependency convergence error for com.vaadin:flow-components:1.0.0.alpha9 paths to dependency are:
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:vaadin:10.0.0-alpha6
    +-com.vaadin:flow-components:1.0.0.alpha9
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-components:1.0.0.alpha10
, 
Dependency convergence error for com.vaadin:flow-server:1.0.0.alpha9 paths to dependency are:
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:vaadin:10.0.0-alpha6
    +-com.vaadin:flow-server:1.0.0.alpha9
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:vaadin:10.0.0-alpha6
    +-com.vaadin:flow-data:1.0.0.alpha9
      +-com.vaadin:flow-server:1.0.0.alpha9
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:vaadin:10.0.0-alpha6
    +-com.vaadin:flow-html-components:1.0.0.alpha9
      +-com.vaadin:flow-server:1.0.0.alpha9
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-com.vaadin:flow-spring-addon:1.0.0.alpha10
      +-com.vaadin:flow:1.0.0.alpha10
        +-com.vaadin:flow-server:1.0.0.alpha10
, 
Dependency convergence error for org.springframework.boot:spring-boot:1.5.7.RELEASE paths to dependency are:
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-org.springframework.boot:spring-boot-starter-web:1.5.7.RELEASE
      +-org.springframework.boot:spring-boot-starter:1.5.7.RELEASE
        +-org.springframework.boot:spring-boot:1.5.7.RELEASE
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-org.springframework.boot:spring-boot-devtools:1.5.8.RELEASE
    +-org.springframework.boot:spring-boot:1.5.8.RELEASE
, 
Dependency convergence error for org.springframework:spring-core:4.3.12.RELEASE paths to dependency are:
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-com.vaadin:flow-spring-addon:1.0.0.alpha10
      +-org.springframework:spring-webmvc:4.3.12.RELEASE
        +-org.springframework:spring-aop:4.3.12.RELEASE
          +-org.springframework:spring-core:4.3.12.RELEASE
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-com.vaadin:flow-spring-addon:1.0.0.alpha10
      +-org.springframework:spring-webmvc:4.3.12.RELEASE
        +-org.springframework:spring-beans:4.3.12.RELEASE
          +-org.springframework:spring-core:4.3.12.RELEASE
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-com.vaadin:flow-spring-addon:1.0.0.alpha10
      +-org.springframework:spring-webmvc:4.3.12.RELEASE
        +-org.springframework:spring-core:4.3.12.RELEASE
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-com.vaadin:flow-spring-addon:1.0.0.alpha10
      +-org.springframework:spring-webmvc:4.3.12.RELEASE
        +-org.springframework:spring-expression:4.3.12.RELEASE
          +-org.springframework:spring-core:4.3.12.RELEASE
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-org.springframework.boot:spring-boot-starter-web:1.5.7.RELEASE
      +-org.springframework.boot:spring-boot-starter:1.5.7.RELEASE
        +-org.springframework:spring-core:4.3.11.RELEASE
, 
Dependency convergence error for com.vaadin:flow-client:1.0.0.alpha9 paths to dependency are:
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:vaadin:10.0.0-alpha6
    +-com.vaadin:flow-client:1.0.0.alpha9
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-com.vaadin:flow-spring-addon:1.0.0.alpha10
      +-com.vaadin:flow:1.0.0.alpha10
        +-com.vaadin:flow-client:1.0.0.alpha10
, 
Dependency convergence error for com.vaadin:flow-push:1.0.0.alpha9 paths to dependency are:
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:vaadin:10.0.0-alpha6
    +-com.vaadin:flow-server:1.0.0.alpha9
      +-com.vaadin:flow-push:1.0.0.alpha9
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:vaadin:10.0.0-alpha6
    +-com.vaadin:flow-push:1.0.0.alpha9
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-com.vaadin:flow-spring-addon:1.0.0.alpha10
      +-com.vaadin:flow:1.0.0.alpha10
        +-com.vaadin:flow-push:1.0.0.alpha10
, 
Dependency convergence error for org.springframework:spring-webmvc:4.3.12.RELEASE paths to dependency are:
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-com.vaadin:flow-spring-addon:1.0.0.alpha10
      +-org.springframework:spring-webmvc:4.3.12.RELEASE
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-org.springframework.boot:spring-boot-starter-web:1.5.7.RELEASE
      +-org.springframework:spring-webmvc:4.3.11.RELEASE
, 
Dependency convergence error for javax.validation:validation-api:2.0.0.Final paths to dependency are:
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:vaadin:10.0.0-alpha6
    +-com.vaadin:flow-data:1.0.0.alpha9
      +-javax.validation:validation-api:2.0.0.Final
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-org.springframework.boot:spring-boot-starter-web:1.5.7.RELEASE
      +-org.hibernate:hibernate-validator:5.3.5.Final
        +-javax.validation:validation-api:1.1.0.Final
, 
Dependency convergence error for com.fasterxml.jackson.core:jackson-core:2.7.3 paths to dependency are:
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:vaadin:10.0.0-alpha6
    +-com.vaadin:flow-server:1.0.0.alpha9
      +-org.webjars:webjars-locator-core:0.32
        +-com.fasterxml.jackson.core:jackson-core:2.7.3
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-org.springframework.boot:spring-boot-starter-web:1.5.7.RELEASE
      +-com.fasterxml.jackson.core:jackson-databind:2.8.10
        +-com.fasterxml.jackson.core:jackson-core:2.8.10
, 
Dependency convergence error for org.springframework:spring-web:4.3.12.RELEASE paths to dependency are:
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-com.vaadin:flow-spring-addon:1.0.0.alpha10
      +-org.springframework:spring-webmvc:4.3.12.RELEASE
        +-org.springframework:spring-web:4.3.12.RELEASE
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-org.springframework.boot:spring-boot-starter-web:1.5.7.RELEASE
      +-org.springframework:spring-web:4.3.11.RELEASE
, 
Dependency convergence error for org.springframework.boot:spring-boot-autoconfigure:1.5.7.RELEASE paths to dependency are:
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-org.springframework.boot:spring-boot-starter-web:1.5.7.RELEASE
      +-org.springframework.boot:spring-boot-starter:1.5.7.RELEASE
        +-org.springframework.boot:spring-boot-autoconfigure:1.5.7.RELEASE
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-org.springframework.boot:spring-boot-devtools:1.5.8.RELEASE
    +-org.springframework.boot:spring-boot-autoconfigure:1.5.8.RELEASE
, 
Dependency convergence error for com.vaadin:flow-html-components:1.0.0.alpha9 paths to dependency are:
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:vaadin:10.0.0-alpha6
    +-com.vaadin:flow-html-components:1.0.0.alpha9
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-com.vaadin:flow-spring-addon:1.0.0.alpha10
      +-com.vaadin:flow:1.0.0.alpha10
        +-com.vaadin:flow-html-components:1.0.0.alpha10
and
+-com.example:spring-skeleton:1.0.0.alpha10
  +-com.vaadin:flow-spring-boot-starter:1.0.0.alpha10
    +-com.vaadin:flow-html-components:1.0.0.alpha10

add a `ccdm` starter to vaadin.com/vaadincom/start-service

DoD:

  • there is a ccdm branch in the skeleton-starter-flow-spring repo
  • the ccdm branch should include a smoke test, equivalent to that on the master branch
  • the content of the branch uses the latest Flow CCDM alpha version and includes the index.html and index.ts files
  • index.ts includes a client-side routing configuration that forwards everything to Flow
    router.setRoutes(flow.route())
  • the project compiles and starts
  • the project is available for download from https://vaadin.com/vaadincom/start-service via a direct URL:
    curl -o ccdm-skeleton-starter.zip https://vaadin.com/vaadincom/start-service/pre-release/project-base\?appName\=Example+Project\&groupId\=com.example.application\&techStack\=ccdm
    (that requires adding a ccdm tech stack into the start/starters/04__PRE_RELEASE/04__project-base/starter.json file in the development branch in the vaadin.com/webpage-content repo on GitLab, and make it point to the newly created ccdm branch in the skeleton-starter-flow-spring repo)

Failure at startup on 2.0 branch

mvn clean install then mvn spring-boot:run

Expected: server should start
Actual:


java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].TomcatEmbeddedContext[]]
	at java.util.concurrent.FutureTask.report(FutureTask.java:122) [na:1.8.0_191]
	at java.util.concurrent.FutureTask.get(FutureTask.java:192) [na:1.8.0_191]
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:941) ~[tomcat-embed-core-8.5.31.jar:8.5.31]
	at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:872) [tomcat-embed-core-8.5.31.jar:8.5.31]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [tomcat-embed-core-8.5.31.jar:8.5.31]
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1421) [tomcat-embed-core-8.5.31.jar:8.5.31]
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1411) [tomcat-embed-core-8.5.31.jar:8.5.31]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_191]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_191]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_191]
	at java.lang.Thread.run(Thread.java:748) [na:1.8.0_191]
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].TomcatEmbeddedContext[]]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) [tomcat-embed-core-8.5.31.jar:8.5.31]
	... 6 common frames omitted
Caused by: java.lang.NoSuchMethodError: com.vaadin.flow.server.webcomponent.WebComponentConfigurationRegistry.hasConfigurations()Z
	at com.vaadin.flow.spring.VaadinServletContextInitializer.onStartup(VaadinServletContextInitializer.java:294) ~[vaadin-spring-11.1-SNAPSHOT.jar:na]
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.selfInitialize(ServletWebServerApplicationContext.java:238) ~[spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
	at org.springframework.boot.web.embedded.tomcat.TomcatStarter.onStartup(TomcatStarter.java:54) ~[spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5245) ~[tomcat-embed-core-8.5.31.jar:8.5.31]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [tomcat-embed-core-8.5.31.jar:8.5.31]
	... 6 common frames omitted

2019-04-17 09:34:37.927 ERROR 53560 --- [  restartedMain] org.apache.catalina.core.ContainerBase   : A child container failed during start

java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost]]
	at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[na:1.8.0_191]
	at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[na:1.8.0_191]
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:941) ~[tomcat-embed-core-8.5.31.jar:8.5.31]
	at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262) [tomcat-embed-core-8.5.31.jar:8.5.31]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [tomcat-embed-core-8.5.31.jar:8.5.31]
	at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422) [tomcat-embed-core-8.5.31.jar:8.5.31]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [tomcat-embed-core-8.5.31.jar:8.5.31]
	at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:793) [tomcat-embed-core-8.5.31.jar:8.5.31]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [tomcat-embed-core-8.5.31.jar:8.5.31]
	at org.apache.catalina.startup.Tomcat.start(Tomcat.java:367) [tomcat-embed-core-8.5.31.jar:8.5.31]
	at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:107) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
	at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.<init>(TomcatWebServer.java:86) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
	at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:409) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
	at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:174) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:179) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:152) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:544) [spring-context-5.0.6.RELEASE.jar:5.0.6.RELEASE]
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:759) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:395) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:327) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1255) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1243) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
	at com.vaadin.starter.skeleton.spring.Application.main(Application.java:14) [classes/:na]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_191]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_191]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_191]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_191]
	at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) [spring-boot-devtools-2.0.2.RELEASE.jar:2.0.2.RELEASE]
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost]]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) [tomcat-embed-core-8.5.31.jar:8.5.31]
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1421) ~[tomcat-embed-core-8.5.31.jar:8.5.31]
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1411) ~[tomcat-embed-core-8.5.31.jar:8.5.31]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_191]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_191]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_191]
	at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_191]
Caused by: org.apache.catalina.LifecycleException: A child container failed during start
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:949) ~[tomcat-embed-core-8.5.31.jar:8.5.31]
	at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:872) ~[tomcat-embed-core-8.5.31.jar:8.5.31]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [tomcat-embed-core-8.5.31.jar:8.5.31]
	... 6 common frames omitted

2019-04-17 09:34:37.928  INFO 53560 --- [  restartedMain] o.apache.catalina.core.StandardService   : Stopping service [Tomcat]
2019-04-17 09:34:37.929  WARN 53560 --- [  restartedMain] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
2019-04-17 09:34:37.936  INFO 53560 --- [  restartedMain] ConditionEvaluationReportLoggingListener : 

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2019-04-17 09:34:37.938 ERROR 53560 --- [  restartedMain] o.s.boot.SpringApplication               : Application run failed

org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:155) ~[spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:544) ~[spring-context-5.0.6.RELEASE.jar:5.0.6.RELEASE]
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140) ~[spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:759) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:395) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:327) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1255) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1243) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
	at com.vaadin.starter.skeleton.spring.Application.main(Application.java:14) [classes/:na]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_191]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_191]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_191]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_191]
	at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) [spring-boot-devtools-2.0.2.RELEASE.jar:2.0.2.RELEASE]
Caused by: org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
	at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:126) ~[spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
	at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.<init>(TomcatWebServer.java:86) ~[spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
	at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:409) ~[spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
	at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:174) ~[spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:179) ~[spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:152) ~[spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
	... 13 common frames omitted
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardServer[-1]]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) ~[tomcat-embed-core-8.5.31.jar:8.5.31]
	at org.apache.catalina.startup.Tomcat.start(Tomcat.java:367) ~[tomcat-embed-core-8.5.31.jar:8.5.31]
	at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:107) ~[spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
	... 18 common frames omitted
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Tomcat]]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) ~[tomcat-embed-core-8.5.31.jar:8.5.31]
	at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:793) ~[tomcat-embed-core-8.5.31.jar:8.5.31]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ~[tomcat-embed-core-8.5.31.jar:8.5.31]
	... 20 common frames omitted
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat]]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) ~[tomcat-embed-core-8.5.31.jar:8.5.31]
	at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422) ~[tomcat-embed-core-8.5.31.jar:8.5.31]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ~[tomcat-embed-core-8.5.31.jar:8.5.31]
	... 22 common frames omitted
Caused by: org.apache.catalina.LifecycleException: A child container failed during start
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:949) ~[tomcat-embed-core-8.5.31.jar:8.5.31]
	at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262) ~[tomcat-embed-core-8.5.31.jar:8.5.31]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ~[tomcat-embed-core-8.5.31.jar:8.5.31]
	... 24 common frames omitted

the V15 version should use the `@PWA` annotation as well as V14

When starting a new project from the ccdm branch of this repo, I want my new app to be a PWA, and include an install prompt, so that the experience and the feature set I get with Vaadin 15 is on par with that of Vaadin 14.

Also in scope: verify that the projects generated by the Starter Wizard include the AppShell class with the @PWA annotation, after this change to the skeleton-starter-flow-spring repo is merged.

The project should create jar file

Jar packaging is the primary method for spring boot apps and we should support Spring here. If somebody still for some reason needs war file he can change the project easily for that using Spring's documentation (which is also different of how war is created here).

Spring Boot devtools reload is broken with Vaadin 13

Setup:
Starter downloaded from vaadin.com/start, vaadin.version=13.0.1
Java 11

App

@Route
public class MainView extends VerticalLayout {

    public MainView() {
        add(new H1("hello world"));
    }
}

Problem description
Changing the app, Hello world -> Hello foo reloads OK once. On subsequent changes, the browser shows the following error message:

Could not navigate to ''
Reason: Couldn't find route for ''

Available routes:
This detailed message is only shown when running in development mode.

This error message persists even if you restart the server.

The only way to get rid of the error message that I could find was to clear the browser cookies.

The frontend/src folder is not needed

This needs to be aligned with the Vaadin 10-14 project structure.
See the discussion here

Out of scope for this task (will need separate PRs / issues):

  • update the starters (Bakery, Beverage Buddy, etc)
  • update Designer to load / save designs to the correct folder

DoD:

  • when I download a TypeScript + Spring Boot project from start.vaadin.com, there is no frontend/src folder in it.

The README file should have relevant content for TS projects

In TypeScript + Spring Boot projects downloaded from start.vaadin.com...

The current content is not very relevant as it speaks of the 'classic' Vaadin 10-14 app structure and concepts.

  • frontend/src/README should be removed together with the frontend/src folder (see #231)
  • frontend/styles/README should be updated at least to not give any misleading / irrelevant information for TypeScript projects
  • README.md should be updated to describe the actual V15 TypeScript + Spring Boot project structure

Produced war file does not work in any of the servlet containers

There are multiple issues with the war created by the project:

  • Frontend resources are unavailable in the war in development mode

Currently they are packed into WEB-INF/classes/META-INF/resources/ in the war, which seems to be unavailable to Flow during runtime.

We should either pack it in the different directory (the root of the war) or provide a new reasonable default for Flow.

  • Frontend resources are unavailable in the war in production mode

The starter misses production mode at all.
Since all other starters do have a production mode support, I wonder why did it get removed in this one.

  • war contains specific for Tomcat classes

spring-boot-starter-tomcat dependency comes as a transitive from flow-spring-boot-starter dependency.
This restricts anyone from using Flow in different servlet container.
It should be provided

More details: https://docs.spring.io/spring-boot/docs/current/reference/html/howto-traditional-deployment.html#howto-create-a-deployable-war-file

  • Even with tomcat dependencies excluded, Jetty fails to run the war.

With the version of Jetty we use for other starters, old one, 9.3.7.v20160115, Jetty fails to start because of the log4j jar provided by spring-boot-logging: Jetty fails to load it due to Java 9 features included in.
With the newest version, Flow fails to start due to Atmosphere failing to load the required class.
The issue is fixed by adding a dependency mentioned in Atmosphere/atmosphere#978 but this depedency states that the class is deprecated.
I guess we need to update the Atmosphere.

Starter is linked to this git repo

If you download this starter (at least for V14) it is a git project linked to this repo. If I download a starter, I want to use it to start my own project from a clean slate.

Include an application.properties file

Any real-world application will be needing an application.properties file. We should include one so that the user doesn't have to find out where to put it.

fix the validation build on dev mode

since Vaadin 23.2.0.beta3, we switched to use vite as a primary tool.

the dev-mode validation failed as

page crash 
Failed to load resource: net::ERR_INSUFFICIENT_RESOURCES`

we need to fix this.

Serialization Issues when running spring starter

  • Checkout the skeleton-starter-flow-spring
  • run mvn spring-boot:run
  • load the application in browser
  • Change the button label in MainView.java in your IDE
  • wait for spring devtools to restart the servlet container
  • Each time the server reloads, there is an error in console
2019-06-26 19:09:32.459  WARN 8560 --- [  restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/]       :
 Cannot deserialize session attribute [com.vaadin.flow.server.VaadinSession.springServlet]
 for session [319A4C794323F4228EBFCE5DD22E6FCC]

Incompatible with WebComponentExporter

Vaadin 14 beta3.

java.lang.IllegalArgumentException: Supplied writer 'com.vaadin.flow.server.webcomponent.WebComponentModulesWriter' and supplied exporter 'com.example.app.spring.GridDemoExporter' have different class loaders, 'jdk.internal.loader.ClassLoaders$AppClassLoader' and 'org.springframework.boot.devtools.restart.classloader.RestartClassLoader', respectively. Writer and exporters must share a class loader.

Can't find resource ExamplteTemplate.html

Hi, when i start skeleton-starter-flow-spring application with mvn clean install spring-boot:run, and then navigate to localhost:8080 i got this exception :

Caused by: java.lang.IllegalStateException: Can't find resource 'frontend://ExampleTemplate.html' via the servlet context
at com.vaadin.flow.component.polymertemplate.DefaultTemplateParser.getTemplateContent(DefaultTemplateParser.java:106) ~[flow-server-1.0.0.alpha15.jar:na]
at com.vaadin.flow.component.polymertemplate.TemplateInitializer.(TemplateInitializer.java:122) ~[flow-server-1.0.0.alpha15.jar:na]
at com.vaadin.flow.component.polymertemplate.PolymerTemplate.(PolymerTemplate.java:62) ~[flow-server-1.0.0.alpha15.jar:na]
at com.vaadin.flow.component.polymertemplate.PolymerTemplate.(PolymerTemplate.java:72) ~[flow-server-1.0.0.alpha15.jar:na]
at com.vaadin.starter.skeleton.spring.ExampleTemplate.(ExampleTemplate.java:45) ~[classes/:na]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_151]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_151]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_151]
at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_151]
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:163) ~[spring-beans-5.0.2.RELEASE.jar:5.0.2.RELEASE]

I can see that file located in fronted folder correctly in META-INF/resources/fronted/

Auto-reload not working with Intellij IDEA

Yesterday I've created a new vaadin 17 and pure Java project using your project configurator https://start.vaadin.com/?preset=latest. Thereto I added the card list view, the master-detail view, and the form view.

Running mvn spring-boot:run on the downloaded project works fine. The app can be used in the browser.

I also opened the project in Inteliij IDEA, renamed just a button and recompiled the project in IDEA by pressing on compile. Spring boot detected the changes and reloaded the app. However, instead of a working reload I get this:
grafik

And the log shows me

Vaadin application has been deployed and started to the context path "/".
2020-09-09 09:36:37.815  INFO 286042 --- [onPool-worker-3] c.v.f.s.f.TaskGeneratePackageJson        : writing file /home/stefan/programmierung/java/vaadin/my-vaadin17-test2/target/flow-frontend/package.json.
2020-09-09 09:36:37.817  INFO 286042 --- [onPool-worker-3] c.v.f.s.f.TaskGeneratePackageJson        : writing file /home/stefan/programmierung/java/vaadin/my-vaadin17-test2/target/flow-frontend/form/package.json.
2020-09-09 09:36:37.818  INFO 286042 --- [onPool-worker-3] c.v.f.s.frontend.TaskGenerateIndexHtml   : writing file '/home/stefan/programmierung/java/vaadin/my-vaadin17-test2/target/index.html'
2020-09-09 09:36:37.819  INFO 286042 --- [onPool-worker-3] c.v.f.s.frontend.TaskGenerateIndexTs     : writing file '/home/stefan/programmierung/java/vaadin/my-vaadin17-test2/target/index.ts'
2020-09-09 09:36:37.820  INFO 286042 --- [onPool-worker-3] c.v.f.s.c.g.OpenApiSpecGenerator         : Parsing java files from [/home/stefan/programmierung/java/vaadin/my-vaadin17-test2/src/main/java]
ℹ 「wdm」: Compiling...
2020-09-09 09:36:37.887  WARN 286042 --- [  restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/]       : Cannot deserialize session attribute [com.vaadin.flow.server.VaadinSession.springServlet] for session [1A2C3146B5935F7781FB16D9BF0BCDBB]
2020-09-09 09:36:37.905 ERROR 286042 --- [  restartedMain] o.a.catalina.session.StandardManager     : Exception loading sessions from persistent storage

java.io.InvalidClassException: [Ljava.lang.StackTraceElement;; no valid constructor
        at java.io.ObjectStreamClass$ExceptionInfo.newInvalidClassException(ObjectStreamClass.java:169) ~[na:1.8.0_181]
        at java.io.ObjectStreamClass.checkDeserialize(ObjectStreamClass.java:874) ~[na:1.8.0_181]
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2043) ~[na:1.8.0_181]
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573) ~[na:1.8.0_181]
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:431) ~[na:1.8.0_181]
        at org.apache.catalina.session.StandardSession.doReadObject(StandardSession.java:1545) ~[tomcat-embed-core-9.0.37.jar:9.0.37]
        at org.apache.catalina.session.StandardSession.readObjectData(StandardSession.java:1040) ~[tomcat-embed-core-9.0.37.jar:9.0.37]
        at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:218) ~[tomcat-embed-core-9.0.37.jar:9.0.37]
        at org.apache.catalina.session.StandardManager.load(StandardManager.java:162) ~[tomcat-embed-core-9.0.37.jar:9.0.37]
        at org.apache.catalina.session.StandardManager.startInternal(StandardManager.java:354) ~[tomcat-embed-core-9.0.37.jar:9.0.37]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [tomcat-embed-core-9.0.37.jar:9.0.37]
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5156) [tomcat-embed-core-9.0.37.jar:9.0.37]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [tomcat-embed-core-9.0.37.jar:9.0.37]
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384) [tomcat-embed-core-9.0.37.jar:9.0.37]
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374) [tomcat-embed-core-9.0.37.jar:9.0.37]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_181]
        at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) [tomcat-embed-core-9.0.37.jar:9.0.37]
        at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134) [na:1.8.0_181]
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909) [tomcat-embed-core-9.0.37.jar:9.0.37]
        at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:841) [tomcat-embed-core-9.0.37.jar:9.0.37]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [tomcat-embed-core-9.0.37.jar:9.0.37]
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384) [tomcat-embed-core-9.0.37.jar:9.0.37]
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374) [tomcat-embed-core-9.0.37.jar:9.0.37]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_181]
        at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) [tomcat-embed-core-9.0.37.jar:9.0.37]
        at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134) [na:1.8.0_181]
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909) [tomcat-embed-core-9.0.37.jar:9.0.37]
        at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262) [tomcat-embed-core-9.0.37.jar:9.0.37]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [tomcat-embed-core-9.0.37.jar:9.0.37]
        at org.apache.catalina.core.StandardService.startInternal(StandardService.java:421) [tomcat-embed-core-9.0.37.jar:9.0.37]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [tomcat-embed-core-9.0.37.jar:9.0.37]
        at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930) [tomcat-embed-core-9.0.37.jar:9.0.37]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [tomcat-embed-core-9.0.37.jar:9.0.37]
        at org.apache.catalina.startup.Tomcat.start(Tomcat.java:486) [tomcat-embed-core-9.0.37.jar:9.0.37]
        at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:123) [spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
        at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.<init>(TomcatWebServer.java:104) [spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
        at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:437) [spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
        at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:191) [spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:178) [spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:158) [spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:545) [spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE]
        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:143) [spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758) [spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:750) [spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
        at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) [spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) [spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1237) [spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226) [spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
        at iat.vaadin17.Application.main(Application.java:14) [classes/:na]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_181]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_181]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_181]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_181]
        at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) [spring-boot-devtools-2.3.2.RELEASE.jar:2.3.2.RELEASE]

2020-09-09 09:36:37.945  INFO 286042 --- [  restartedMain] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2020-09-09 09:36:37.954  INFO 286042 --- [         task-1] o.hibernate.jpa.internal.util.LogHelper  : HHH000204: Processing PersistenceUnitInfo [name: default]
2020-09-09 09:36:37.970  INFO 286042 --- [         task-1] org.hibernate.dialect.Dialect            : HHH000400: Using dialect: org.hibernate.dialect.H2Dialect
2020-09-09 09:36:38.019  WARN 286042 --- [  restartedMain] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
2020-09-09 09:36:38.022  INFO 286042 --- [onPool-worker-3] c.v.f.s.c.g.OpenApiSpecGenerator         : There are no connect endpoints to generate.
2020-09-09 09:36:38.028  INFO 286042 --- [onPool-worker-3] c.v.f.s.frontend.TaskUpdatePackages      : Skipping `pnpm install` because the frontend packages are already installed in the folder '/home/stefan/programmierung/java/vaadin/my-vaadin17-test2/node_modules' and the hash in the file '/home/stefan/programmierung/java/vaadin/my-vaadin17-test2/node_modules/.vaadin/vaadin.json' is the same as in 'package.json'
2020-09-09 09:36:38.028  INFO 286042 --- [onPool-worker-3] c.v.f.s.frontend.TaskCopyFrontendFiles   : Copying frontend resources from jar files ...
2020-09-09 09:36:38.083  INFO 286042 --- [         task-1] o.h.e.t.j.p.i.JtaPlatformInitiator       : HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
2020-09-09 09:36:38.084  INFO 286042 --- [         task-1] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2020-09-09 09:36:38.126  INFO 286042 --- [onPool-worker-3] c.v.f.s.frontend.TaskCopyFrontendFiles   : Visited 15 resources. Took 97 ms.
2020-09-09 09:36:38.172  INFO 286042 --- [onPool-worker-3] c.v.f.server.frontend.TaskUpdateImports  : Updated /home/stefan/programmierung/java/vaadin/my-vaadin17-test2/target/frontend/generated-flow-imports.js
2020-09-09 09:36:38.173  INFO 286042 --- [onPool-worker-3] c.v.f.server.frontend.TaskUpdateImports  : No js modules to update '/home/stefan/programmierung/java/vaadin/my-vaadin17-test2/target/frontend/generated-flow-imports.d.ts' file
2020-09-09 09:36:38.193  INFO 286042 --- [         task-2] o.s.b.d.a.OptionalLiveReloadServer       : LiveReload server is running on port 35729
2020-09-09 09:36:38.432  INFO 286042 --- [  restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2020-09-09 09:36:38.433  INFO 286042 --- [  restartedMain] DeferredRepositoryInitializationListener : Triggering deferred initialization of Spring Data repositories…
2020-09-09 09:36:38.528  INFO 286042 --- [  restartedMain] DeferredRepositoryInitializationListener : Spring Data repositories initialized!
2020-09-09 09:36:38.539  INFO 286042 --- [  restartedMain] iat.vaadin17.Application                 : Started Application in 9.13 seconds (JVM running for 94.552)
2020-09-09 09:36:38.551  INFO 286042 --- [  restartedMain] i.vaadin17.data.generator.DataGenerator  : Generating demo data
2020-09-09 09:36:38.551  INFO 286042 --- [  restartedMain] i.vaadin17.data.generator.DataGenerator  : ... generating 100 Person entities...
2020-09-09 09:36:38.628  INFO 286042 --- [  restartedMain] i.vaadin17.data.generator.DataGenerator  : Generated demo data
2020-09-09 09:36:38.632  INFO 286042 --- [  restartedMain] .ConditionEvaluationDeltaLoggingListener : Condition evaluation unchanged
ℹ 「atl」: Checking started in a separate process...
ℹ 「atl」: Time: 3ms
2020-09-09 09:36:38.783  INFO 286042 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2020-09-09 09:36:38.784  INFO 286042 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2020-09-09 09:36:38.787  INFO 286042 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 3 ms
         Serving the 'stats.json' file dynamically.
ℹ 「wdm」: Hash: c8b008ba98fffaf738d2
Version: webpack 4.42.0
Time: 1277ms
Built at: 09.09.2020 09:36:39
     Asset      Size  Chunks             Chunk Names
index.html  1.08 KiB          [emitted]  
 + 7 hidden assets
Entrypoint bundle = build/vaadin-bundle-2475453a0a42cac69969.cache.js
Entrypoint export [big] = build/vaadin-export-b749fd7e0671df44d265.cache.js
Entrypoint devmodeGizmo = build/vaadin-devmodeGizmo-34b9ac7fd2fb8a44bcdc.cache.js
[../target/index.ts] 1.43 KiB {bundle} [built]
    + 567 hidden modules
Child html-webpack-plugin for "index.html":
     1 asset
    Entrypoint undefined = index.html
    [../node_modules/.pnpm/registry.npmjs.org/html-webpack-plugin/[email protected]/node_modules/html-webpack-plugin/lib/loader.js!../target/index.html] 1.13 KiB {1} [built]
2020-09-09 09:36:39.407  INFO 286042 --- [onPool-worker-3] com.vaadin.flow.server.DevModeHandler    : Reusing webpack-dev-server running at http://localhost:35185
        + 3 hidden modules
ℹ 「wdm」: Compiled successfully.

----------------- Frontend compiled successfully. -----------------

ℹ 「wdm」: Compiling...
ℹ 「atl」: Checking started in a separate process...
ℹ 「atl」: Time: 2ms
         Serving the 'stats.json' file dynamically.
ℹ 「wdm」: Hash: 0efc725c609d2000e772
Version: webpack 4.42.0
Time: 1342ms
Built at: 09.09.2020 09:36:40
                                            Asset      Size  Chunks                                Chunk Names
     build/vaadin-1-6a852c01ccdd71133e3c.cache.js   346 KiB       1  [emitted] [immutable]         
build/vaadin-bundle-07cec2f4198b047008b3.cache.js   285 KiB  bundle  [emitted] [immutable]         bundle
build/vaadin-export-92ee194f2a7ab09558a8.cache.js  16.6 MiB  export  [emitted] [immutable]  [big]  export
                                       index.html  1.08 KiB          [emitted]                     
 + 4 hidden assets
Entrypoint bundle = build/vaadin-bundle-07cec2f4198b047008b3.cache.js
Entrypoint export [big] = build/vaadin-export-92ee194f2a7ab09558a8.cache.js
Entrypoint devmodeGizmo = build/vaadin-devmodeGizmo-34b9ac7fd2fb8a44bcdc.cache.js
[../target/frontend/generated-flow-imports.js] 5.87 KiB {export} {1} [built]
    + 566 hidden modules
Child html-webpack-plugin for "index.html":
     1 asset
    Entrypoint undefined = index.html
       4 modules
ℹ 「wdm」: Compiled successfully.

----------------- Frontend compiled successfully. -----------------

2020-09-09 09:36:42.029  INFO 286042 --- [nio-8080-exec-1] c.vaadin.flow.spring.SpringInstantiator  : The number of beans implementing 'I18NProvider' is 0. Cannot use Spring beans for I18N, falling back to the default behavior
2020-09-09 09:53:38.086  WARN 286042 --- [alina-utility-1] com.vaadin.flow.server.VaadinSession     : A VaadinSession instance not associated to any service is getting unbound. Session destroy events will not be fired and UIs in the session will not get detached. This might happen if a session is deserialized but never used before it expires.
2020-09-09 10:06:38.182  WARN 286042 --- [alina-utility-2] com.vaadin.flow.server.VaadinSession     : A VaadinSession instance not associated to any service is getting unbound. Session destroy events will not be fired and UIs in the session will not get detached. This might happen if a session is deserialized but never used before it expires.

If I restart mvn spring-boot:run the app works fine. However, I don't want to restart the whole application server for a simple change. What do I have to adjust to make this working?
The guide https://vaadin.com/docs/v17/flow/getting-started/getting-started-intellij.html looks a bit like outdated, since it mentions jetty:run to start the application?

vaadin.whitelisted-packages uses / that looks uncommon

The starter generates

vaadin.whitelisted-packages = com/vaadin,org/vaadin,io/seventytwo/demo

IMHO this confuses developers because packages are using . not / and the property is named whitelisted-packages and not whitelisted-folders.

So it would be much more clear to have it generated like this:

vaadin.whitelisted-packages = com.vaadin,org.vaadin,io.seventytwo.demo

Unable to shutdown spring-boot:run gracefully

Working on Linux I am not able to stop mvn spring-boot:run via SIGTERM (ctrl-c)

Whole application is blocked:
2017-11-25 21:58:02.438 INFO 14215 --- [ Thread-9] o.s.j.e.a.AnnotationMBeanExporter : Unregistering JMX-exposed beans on shutdown

I have to kill the application with SIGKILL.

README under Spring Boot 14 beta3 starter's frontend/styles still refers to v10 documentation

Steps to reproduce:

  1. Go to https://vaadin.com/start/pre-release/project-base
  2. Get 14 beta3 Spring Boot starter
  3. Open zip and import to IDE of choice
  4. Read frontend/styles/README

Expected outcome:
Developer would be directed to working documentation, of 14 most likely?
https://vaadin.com/docs/v14/flow/theme/theming-overview.html maybe?

Actual outcome:
Developer is asked to read v10 documentation at: https://vaadin.com/docs/v10/flow/theme/theming-overview.html

RC1 Spring Boot starter fails at mvn clean install

Happens with current Intellij, using it's integrated Maven with Java 12. Changing maven to external fixes the issue. So low priority.

Steps to reproduce:

  1. Take RC1 version of spring boot starter (I used git as not available at site)
  2. Run mvn clean install on project

Expected outcome:
It builds project

Actual outcome:
Fails to missing logger implementation dependency? See attached output.

Feature(?) Request: Support DEBUG for spring-boot:run in IDEA by setting fork=false

Setting the fork mode to false like

 <build>
        <defaultGoal>spring-boot:run</defaultGoal>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <!-- Clean build and startup time for Vaadin apps sometimes may exceed
                     the default Spring Boot's 30sec timeout.  -->
                <configuration>
                    <wait>500</wait>
                    <maxAttempts>240</maxAttempts>
                    <fork>false</fork>
                </configuration>
            </plugin>

allows to right-click Maven->spring-boot:run and "Debug" out of the box, otherwise the JAR needs to be run via its main() method.

Version is:
<vaadin.version>14.2.1</vaadin.version>

Errors about resources not found when starting the app

2018-03-05 22:55:59.085  INFO 15182 --- [nio-8080-exec-1] c.v.f.c.internal.HtmlDependencyParser    : Can't find resource 'src/example-template.html' via the servlet context
2018-03-05 22:55:59.136  INFO 15182 --- [nio-8080-exec-1] c.v.f.c.internal.HtmlDependencyParser    : Can't find resource 'styles/shared-styles.html' via the servlet context

Why is that even INFO? It does not provide me with any info about the implications (there are seemingly none?) or what I should do

Debugging in the IDE does not work (V14 RC7)

Description
Debugging the "project base spring" Vaadin 14 RC7 project does not work as per the instructions on the page:

img1

Actual
Running the app in debug mode does not stop on any breakpoints.

Expected
Running the app in debug mode does should stop on breakpoints.

More information
Commenting out the spring-boot-devtools fixes this issues and debugging works afterwards:

<!--        <dependency>-->
<!--            <groupId>org.springframework.boot</groupId>-->
<!--            <artifactId>spring-boot-devtools</artifactId>-->
<!--            <optional>true</optional>-->
<!--        </dependency>-->

Read me issue on how to run app

README has this line

Run application using mvn spring-boot:run or directly running Application class from your IDE.

But if you just run Application directly, the frontend will be missing right? So shouldn't README tell to also run mvn install before starting application directly?

artifact com.vaadin:flow-spring-boot-starter:jar:1.0.0.alpha6 is not found

Is this repo available for public consumption? Wanted to try out new flow framework.
Here is the error log:

[INFO] >>> spring-boot-maven-plugin:1.5.7.RELEASE:run (default-cli) > test-compile @ spring-skeleton >>>
Downloading: https://repo.vaadin.com/nexus/content/repositories/flow/com/vaadin/flow-spring-boot-starter/1.0.0.alpha6/flow-spring-boot-starter-1.0.0.alpha6.pom
Downloading: http://maven.vaadin.com/vaadin-addons/com/vaadin/flow-spring-boot-starter/1.0.0.alpha6/flow-spring-boot-starter-1.0.0.alpha6.pom
Downloading: https://dl.bintray.com/webjars/maven/com/vaadin/flow-spring-boot-starter/1.0.0.alpha6/flow-spring-boot-starter-1.0.0.alpha6.pom
Downloading: https://repo.maven.apache.org/maven2/com/vaadin/flow-spring-boot-starter/1.0.0.alpha6/flow-spring-boot-starter-1.0.0.alpha6.pom
[WARNING] The POM for com.vaadin:flow-spring-boot-starter:jar:1.0.0.alpha6 is missing, no dependency information available
Downloading: https://repo.vaadin.com/nexus/content/repositories/flow/com/vaadin/flow-spring-boot-starter/1.0.0.alpha6/flow-spring-boot-starter-1.0.0.alpha6.jar
Downloading: http://maven.vaadin.com/vaadin-addons/com/vaadin/flow-spring-boot-starter/1.0.0.alpha6/flow-spring-boot-starter-1.0.0.alpha6.jar
Downloading: https://dl.bintray.com/webjars/maven/com/vaadin/flow-spring-boot-starter/1.0.0.alpha6/flow-spring-boot-starter-1.0.0.alpha6.jar
Downloading: https://repo.maven.apache.org/maven2/com/vaadin/flow-spring-boot-starter/1.0.0.alpha6/flow-spring-boot-starter-1.0.0.alpha6.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.355 s
[INFO] Finished at: 2017-10-20T12:02:49-06:00
[INFO] Final Memory: 11M/250M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project spring-skeleton: Could not resolve dependencies for project com.example:spring-skeleton:war:1.0.0.alpha6: Could not find artifact com.vaadin:flow-spring-boot-starter:jar:1.0.0.alpha6 in flow-internal-release (https://repo.vaadin.com/nexus/content/repositories/flow) -> [Help 1]
[ERROR] 

scrolling is broken in server-side views when using client-side routing

When a project uses client-side routing, vertical scrolling is broken for server-side views. Example: download a TypeScript + Spring Boot project from start.stg.vaadin.com (depends on https://github.com/vaadin/starter-wizard/pull/281) with a TypeScript Dashboard view, and a HTML (Polymer 2) list view. Start the project, open the list view and try to scroll.

Implementation notes:

  • looks like the router outlet (<div id="outlet">) is lacking a height: 100%; style
  • looks like there are 3 places to make this change:
    • starter-wizard and the index.html file it generates. This affects all V15 projects started with the Starter Wizard.
    • flow-maven-plugin and the default index.html it generates (depends on vaadin/flow#6942). This affects all V15 projects started without the Starter Wizard.
    • skeleton-starter-flow. This only affects the project started by cloning the skeleton starter, which is not encouraged.

When opening MainView <body> is empty

Team, I am trying to get Spring Boot working wit Flow to understand what I need to do for porting my existing app to flow. However I can not get my Skeleton Project to work. Can not get my head around it.

I can see it accesses the MainView nicely however the response contains an empty body it only contains . Using the pom.xml as provided in the skeleton. Look it number of areas but can not find any clue where to look for.

UPDATE
bootstrap js for Vaadin was not accesible. Copied it to the resource folder and then it all worked fine.

Marc.

Can't launch project with `mvn spring-boot:run`

version: 1.0.0.alpha10
OS: Windows 10
Without any modifications in the project, if I try to launch it with mvn spring-boot:run, I get the following exception:

2017-11-20 12:19:44.817  INFO 6408 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'requestContextFilter' to: [/*]
2017-11-20 12:19:44.839 ERROR 6408 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Exception sending context initialized event to listener instance of class [com.vaadin.spring.VaadinServletContextInitializer$RouteServletContextListener]

java.lang.NoClassDefFoundError: com/vaadin/router/RouteAlias
	at com.vaadin.spring.VaadinServletContextInitializer$RouteServletContextListener.contextInitialized(VaadinServletContextInitializer.java:86) ~[flow-spring-addon-1.0.0.alpha10.jar:na]
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4743) [tomcat-embed-core-8.5.20.jar:8.5.20]
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5207) [tomcat-embed-core-8.5.20.jar:8.5.20]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [tomcat-embed-core-8.5.20.jar:8.5.20]
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1419) [tomcat-embed-core-8.5.20.jar:8.5.20]
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409) [tomcat-embed-core-8.5.20.jar:8.5.20]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_121]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_121]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_121]
	at java.lang.Thread.run(Thread.java:745) [na:1.8.0_121]
Caused by: java.lang.ClassNotFoundException: com.vaadin.router.RouteAlias
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_121]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_121]
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) ~[na:1.8.0_121]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_121]
	... 10 common frames omitted

2017-11-20 12:19:44.893 ERROR 6408 --- [ost-startStop-1] o.apache.catalina.core.StandardContext   : One or more listeners failed to start. Full details will be found in the appropriate container log file
2017-11-20 12:19:44.894 ERROR 6408 --- [ost-startStop-1] o.apache.catalina.core.StandardContext   : Context [] startup failed due to previous errors
2017-11-20 12:19:44.903  WARN 6408 --- [  restartedMain] ationConfigEmbeddedWebApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Tomcat
2017-11-20 12:19:44.909  INFO 6408 --- [  restartedMain] utoConfigurationReportLoggingInitializer : 

Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled.
2017-11-20 12:19:44.913 ERROR 6408 --- [  restartedMain] o.s.boot.SpringApplication               : Application startup failed

org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Tomcat
	at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:137) ~[spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:537) ~[spring-context-4.3.12.RELEASE.jar:4.3.12.RELEASE]
	at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) ~[spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693) [spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360) [spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:303) [spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1118) [spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1107) [spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
	at com.example.spring.ExampleServletInitializer.main(ExampleServletInitializer.java:30) [classes/:na]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_121]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_121]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_121]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_121]
	at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) [spring-boot-devtools-1.5.8.RELEASE.jar:1.5.8.RELEASE]
Caused by: org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Tomcat
	at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.initialize(TomcatEmbeddedServletContainer.java:123) ~[spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
	at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.<init>(TomcatEmbeddedServletContainer.java:84) ~[spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
	at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getTomcatEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:554) ~[spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
	at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:179) ~[spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
	at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.createEmbeddedServletContainer(EmbeddedWebApplicationContext.java:164) ~[spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
	at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:134) ~[spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
	... 13 common frames omitted
Caused by: java.lang.IllegalStateException: StandardEngine[Tomcat].StandardHost[localhost].TomcatEmbeddedContext[] failed to start
	at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.rethrowDeferredStartupExceptions(TomcatEmbeddedServletContainer.java:167) ~[spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
	at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.initialize(TomcatEmbeddedServletContainer.java:102) ~[spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
	... 18 common frames omitted

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.