Desde Vaadin 14 fue lanzado este martes, ya he intentado usar en mi aplicación web Primavera-arranque. Incluyendo las dependencias en mi multa obras pom.xml. Ejecución de la aplicación bien funciona tan bien. Sin embargo, tan pronto como me conecto a través de mi navegador localhost me sale el siguiente mensaje:
2019-07-05 13:46:33.743 WARN 7812 --- [nio-8080-exec-1] c.v.f.s.DefaultDeploymentConfiguration :
====================================================================
Vaadin is running in DEBUG MODE.
Add productionMode=true to web.xml to disable debug features.
====================================================================
2019-07-05 13:46:33.744 WARN 7812 --- [nio-8080-exec-1] c.v.f.s.DefaultDeploymentConfiguration :
====================================================================
Running in Vaadin 13 (Flow 1) compatibility mode.
This mode uses webjars/Bower for client side dependency management and HTML imports for dependency loading.
The default mode in Vaadin 14+ (Flow 2+) is based on npm for dependency management and JavaScript modules for dependency inclusion.
See http://vaadin.com/docs for more information.
====================================================================
Como se mencionó en el error, al parecer Vaadin 14 no está funcionando correctamente y que se está poniendo de nuevo al modo de compatibilidad Vaadin 13. Ahora estoy preguntando si esto tiene algo que ver con mi código o con la versión de mis dependencias. ¿Cómo puedo comprobar / averiguar por qué los restablecimientos de aplicación a modo de compatibilidad Vaadin 13? Y es que hay una forma de ejecutar la aplicación estable en el nuevo Vaadin 14? Mi pom.xml y mi código, que es simplemente el botón de arranque sencillo que envía un mensaje de clic se incluyen a continuación.
Ya he intentado desactivar el modo de depuración para Vaadin cambiando las propiedades de aplicación. Lamentablemente esto no funciona en absoluto.
pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>vaadinneuneu</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>vaadinneuneu</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>11</java.version>
<vaadin.version>14.0.0.rc3</vaadin.version>
</properties>
<repositories>
<!-- Repository needed for prerelease versions of Vaadin -->
<repository>
<id>vaadin-prereleases</id>
<url>https://maven.vaadin.com/vaadin-prereleases</url>
<snapshots><enabled>false</enabled></snapshots>
</repository>
</repositories>
<pluginRepositories>
<!-- Repository needed for prerelease versions of Vaadin -->
<pluginRepository>
<id>vaadin-prereleases</id>
<url>https://maven.vaadin.com/vaadin-prereleases</url>
<snapshots><enabled>false</enabled></snapshots>
</pluginRepository>
</pluginRepositories>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-bom</artifactId>
<version>14.0.0.rc3</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
Código:
package com.example.vaadinneuneu;
import com.vaadin.flow.component.button.Button;
import com.vaadin.flow.component.notification.Notification;
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.router.Route;
import com.vaadin.flow.server.PWA;
@Route(value = "home")
@PWA(name = "Kram", shortName = "Base")
public class MainView extends VerticalLayout {
public MainView() {
Button button = new Button("Click Me!",
event -> Notification.show("Clicked!"));
add(button);
}
}
Por defecto en el proyecto que se creó con Vaadin 10-13 al actualizar la versión a 14.XX se ejecutará en modo de compatibilidad y todo debería funcionar como antes. La advertencia que se ve no es un error, simplemente una explicación de los cuales se utiliza el modo y se espera para el proyecto existente que ha cambiado la versión Vaadin a 14.XX
Si desea actualizar al nuevo modo basado en la NGP para la gestión de la dependencia del lado del cliente y los módulos de JavaScript para su inclusión dependencia de echar un vistazo a la guía de migración Vaadin 14 .