Vaadin upgrade 22 to 24 application is going to fail

Hi All,
We are upgrading Vaadin version 22 to 24.2.8

Spring boot version: 3.2.4
Java 17
Vaadin version 24.3.8
Neo4j Database version neo4j-community-4.4.31-windows

We are facing an issue: the application is likely to fail. Could you please assist me in identifying what is wrong with the pom.xml file and the error logs?

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 https://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>3.2.4</version>
		<relativePath /> <!-- lookup parent from repository -->
	</parent>
	<groupId>it.bluebaytech.mistral</groupId>
	<artifactId>new-sinapsi-3.1</artifactId>
	<version>1.2.0</version>
	<name>new-sinapsi-3.1</name>
	<description>Sinapsi application</description>
	<packaging>pom</packaging>
	<properties>
		<java.version>17</java.version>
		<vaadin.version>24.3.8</vaadin.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <maven.compiler.plugin.version>3.8.1</maven.compiler.plugin.version>
        <proguard.version>7.0.0</proguard.version>
<!--        <proguard.maven.plugin.version>2.3.1</proguard.maven.plugin.version>-->
        <proguard.maven.plugin.version>2.6.0</proguard.maven.plugin.version>
	</properties>
	<dependencies>
		<dependency>
			<groupId>org.apache.poi</groupId>
			<artifactId>poi</artifactId>
			<version>4.0.1</version>
		</dependency>

		<dependency>
			<groupId>org.apache.poi</groupId>
			<artifactId>poi-ooxml</artifactId>
			<version>4.0.1</version>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter</artifactId>
		</dependency>
		
		<dependency>
            <groupId>com.vaadin</groupId>
            <!-- Replace artifactId with vaadin-core to use only free components -->
            <artifactId>vaadin-core</artifactId>
        </dependency>
		
		<dependency>
			<groupId>com.vaadin</groupId>
			<artifactId>vaadin-spring-boot-starter</artifactId>
		</dependency>
		<dependency>
			<groupId>io.projectreactor</groupId>
			<artifactId>reactor-core</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
			<optional>true</optional>
			<scope>runtime</scope>
		</dependency>
		<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-aop -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-aop</artifactId>
		</dependency>

	</dependencies>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>com.vaadin</groupId>
				<artifactId>vaadin-bom</artifactId>
				<version>${vaadin.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>

		</dependencies>
	</dependencyManagement>

	<modules>

		<module>mistral-util</module>
		<module>mistral-be</module>
		<module>mistral-boolean-type</module>
		<module>mistral-constant-type</module>
		<module>mistral-custom-fields</module>
		<module>mistral-default-domain</module>
		<module>mistral-file-attachments</module>
		<module>mistral-index-type</module>
		<module>mistral-name-type</module>
		<module>mistral-search</module>
		<module>mistral-template-name-type</module>
		<module>mistral-tracker-fields</module>
		<module>sinapsi-export</module>
		<module>mistral-vaadin</module>
		<module>mistral-vaadin-commons</module>
		<module>mistral-ws</module>
		<module>mistral-app</module>
		<module>sinapsi-isaar-domain</module>
		<module>sinapsi-general-authorities-domain</module>
		<module>sinapsi-isad-date-type</module>
		<module>sinapsi-isad-domain</module>
		<module>sinapsi-isdiah-domain</module>
		<module>sinapsi-record-code-type</module>
		<module>sinapsi-title-type</module>
		<module>mistral-security</module>
	</modules>
	<build>
		<plugins>
			<plugin>
				<groupId>com.vaadin</groupId>
				<artifactId>vaadin-maven-plugin</artifactId>
				<version>${vaadin.version}</version>
<!--				<executions>-->
<!--					<execution>-->
<!--						<goals>-->
<!--							<goal>prepare-frontend</goal>-->
<!--							<goal>build-frontend</goal>-->
<!--						</goals>-->
<!--					</execution>-->
<!--				</executions>-->
			</plugin>
		</plugins>
	</build>
</project> 

Error:

 Exception sending context initialized event to listener instance of class [com.vaadin.flow.spring.VaadinServletContextInitializer$CompositeServletContextListener]
java.lang.RuntimeException: Unable to initialize com.vaadin.flow.spring.VaadinServletContextInitializer$DevModeServletContextListener
        at com.vaadin.flow.spring.VaadinServletContextInitializer$FailFastServletContextListener.contextInitialized(VaadinServletContextInitializer.java:199)
        at com.vaadin.flow.spring.VaadinServletContextInitializer$CompositeServletContextListener.lambda$contextInitialized$0(VaadinServletContextInitializer.java:223)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
        at com.vaadin.flow.spring.VaadinServletContextInitializer$CompositeServletContextListener.contextInitialized(VaadinServletContextInitializer.java:223)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4436)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4876)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
        at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145)
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:866)
        at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:845)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
        at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145)
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:866)
        at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:240)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)
        at org.apache.catalina.core.StandardService.startInternal(StandardService.java:433)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)
        at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:921)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)
        at org.apache.catalina.startup.Tomcat.start(Tomcat.java:437)
        at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:126)
        at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.<init>(TomcatWebServer.java:105)
        at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:499)
        at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:218)
        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:188)
        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:162)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:618)
        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146)
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754)
        at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:334)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343)
        at it.bluebaytech.mistral.MistralApp.main(MistralApp.java:16)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:568)
        at org.springframework.boot.loader.launch.Launcher.launch(Launcher.java:91)
        at org.springframework.boot.loader.launch.Launcher.launch(Launcher.java:53)
        at org.springframework.boot.loader.launch.JarLauncher.main(JarLauncher.java:58)
Caused by: java.lang.IllegalStateException: Failed to determine project directory for dev mode. Directory 'D:\Sinapsi\new-sinapsi-3.1-v24\new-sinapsi-3.1\mistral-app\target' does not look like a Maven or Gradle project. Ensure that you have run the prepare-frontend Maven goal, which generates 'flow-build-info.json', prior to deploying your application
        at com.vaadin.flow.server.AbstractConfiguration.getProjectFolder(AbstractConfiguration.java:225)
        at com.vaadin.flow.server.AbstractConfiguration.getJavaResourceFolder(AbstractConfiguration.java:248)
        at com.vaadin.base.devserver.startup.DevModeInitializer.initDevModeHandler(DevModeInitializer.java:197)
        at com.vaadin.base.devserver.DevModeHandlerManagerImpl.initDevModeHandler(DevModeHandlerManagerImpl.java:96)
        at com.vaadin.flow.spring.VaadinServletContextInitializer$DevModeServletContextListener.failFastContextInitialized(VaadinServletContextInitializer.java:556)
        at com.vaadin.flow.spring.VaadinServletContextInitializer$FailFastServletContextListener.contextInitialized(VaadinServletContextInitializer.java:195)
        ... 48 common frames omitted
←[37m2024-04-06T02:13:52.022+0530←[0;39m ←[1;31mERROR←[0;39m [←[36mtraceId: ←[0;39m] [←[36msourceIp: ←[0;39m] [←[36muserName: ←[0;39m] [←[32mmain←[0;39m] ←[33mo.a.c.c.StandardContext←[0;39m::←[35m173←[0;39m: - One or more listeners failed to start. Full details will be found in the appropriate container log file
←[37m2024-04-06T02:13:52.024+0530←[0;39m ←[1;31mERROR←[0;39m [←[36mtraceId: ←[0;39m] [←[36msourceIp: ←[0;39m] [←[36muserName: ←[0;39m] [←[32mmain←[0;39m] ←[33mo.a.c.c.StandardContext←[0;39m::←[35m173←[0;39m: - Context [] startup failed due to previous errors
←[37m2024-04-06T02:13:52.047+0530←[0;39m ←[34mINFO ←[0;39m [←[36mtraceId: ←[0;39m] [←[36msourceIp: ←[0;39m] [←[36muserName: ←[0;39m] [←[32mmain←[0;39m] ←[33mo.a.c.h.Http11NioProtocol←[0;39m::←[35m173←[0;39m: - Starting ProtocolHandler ["http-nio-9091"]
←[37m2024-04-06T02:13:52.116+0530←[0;39m ←[34mINFO ←[0;39m [←[36mtraceId: ←[0;39m] [←[36msourceIp: ←[0;39m] [←[36muserName: ←[0;39m] [←[32mmain←[0;39m] ←[33mo.a.c.h.Http11NioProtocol←[0;39m::←[35m173←[0;39m: - Pausing ProtocolHandler ["http-nio-9091"]
←[37m2024-04-06T02:13:52.116+0530←[0;39m ←[34mINFO ←[0;39m [←[36mtraceId: ←[0;39m] [←[36msourceIp: ←[0;39m] [←[36muserName: ←[0;39m] [←[32mmain←[0;39m] ←[33mo.a.c.c.StandardService←[0;39m::←[35m173←[0;39m: - Stopping service [Tomcat]
←[37m2024-04-06T02:13:52.119+0530←[0;39m ←[34mINFO ←[0;39m [←[36mtraceId: ←[0;39m] [←[36msourceIp: ←[0;39m] [←[36muserName: ←[0;39m] [←[32mmain←[0;39m] ←[33mo.a.c.h.Http11NioProtocol←[0;39m::←[35m173←[0;39m: - Stopping ProtocolHandler ["http-nio-9091"]
←[37m2024-04-06T02:13:52.127+0530←[0;39m ←[34mINFO ←[0;39m [←[36mtraceId: ←[0;39m] [←[36msourceIp: ←[0;39m] [←[36muserName: ←[0;39m] [←[32mmain←[0;39m] ←[33mo.a.c.h.Http11NioProtocol←[0;39m::←[35m173←[0;39m: - Destroying ProtocolHandler ["http-nio-9091"]
←[37m2024-04-06T02:13:52.127+0530←[0;39m ←[31mWARN ←[0;39m [←[36mtraceId: ←[0;39m] [←[36msourceIp: ←[0;39m] [←[36muserName: ←[0;39m] [←[32mmain←[0;39m] ←[33mo.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext←[0;39m::←[35m632←[0;39m: - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Unable to start web server
←[37m2024-04-06T02:13:52.150+0530←[0;39m ←[39mDEBUG←[0;39m [←[36mtraceId: ←[0;39m] [←[36msourceIp: ←[0;39m] [←[36muserName: ←[0;39m] [←[32mmain←[0;39m] ←[33mo.s.b.a.l.ConditionEvaluationReportLogger

Please compare and adjust your configuration with an example from https://start.vaadin.com.

1 Like

Hi @knoobie Thank you for your reply.
After all the changes are done, We are facing the below error to up the application.
Please could you help/suggest us How can we resolve it?

The CJS build of Vite’s Node API is deprecated. See Troubleshooting | Vite for more details.
vite v5.1.1 building for production…
transforming…
✓ 129 modules transformed.
error during build:
Error: [vite]: Rollup failed to resolve import “lit-html/is-server.js” from “D:/projects/synapsi/sinapsi-upgrade-version/mistral-app/node_modules/lit/index.js”.
This is most likely unintended because it can break your application at runtime.
If you do want to externalize this module explicitly add it to
build.rollupOptions.external
at viteWarn (file:///D:/projects/synapsi/sinapsi-upgrade-version/mistral-app/node_modules/vite/dist/node/chunks/dep-94_H5fT6.js:67038:27)
at onwarn (D:\projects\synapsi\sinapsi-upgrade-version\mistral-app\vite.config.ts:1200:11)
at onRollupWarning (file:///D:/projects/synapsi/sinapsi-upgrade-version/mistral-app/node_modules/vite/dist/node/chunks/dep-94_H5fT6.js:67063:9)
at onwarn (file:///D:/projects/synapsi/sinapsi-upgrade-version/mistral-app/node_modules/vite/dist/node/chunks/dep-94_H5fT6.js:66777:13)
at file:///D:/projects/synapsi/sinapsi-upgrade-version/mistral-app/node_modules/rollup/dist/es/shared/node-entry.js:18303:13
at Object.logger [as onLog] (file:///D:/projects/synapsi/sinapsi-upgrade-version/mistral-app/node_modules/rollup/dist/es/shared/node-entry.js:19950:9)
at ModuleLoader.handleInvalidResolvedId (file:///D:/projects/synapsi/sinapsi-upgrade-version/mistral-app/node_modules/rollup/dist/es/shared/node-entry.js:18893:26)
at file:///D:/projects/synapsi/sinapsi-upgrade-version/mistral-app/node_modules/rollup/dist/es/shared/node-entry.js:18851:26

2024-04-12T12:43:12.583+0530 ERROR [traceId: c2346f4b-f1c5-46e7-b954-631c36594932] [sourceIp: 127.0.0.1] [userName: ] [http-nio-9091-exec-6] c.v.f.s.DefaultErrorHandler::105: -
java.lang.IllegalStateException: com.vaadin.flow.server.ExecutionFailedException: Vite build exited with a non zero status
at com.vaadin.base.devserver.AbstractDevServerRunner.getCause(AbstractDevServerRunner.java:794)
at com.vaadin.base.devserver.AbstractDevServerRunner.getCause(AbstractDevServerRunner.java:790)
at com.vaadin.base.devserver.AbstractDevServerRunner.handleRequestInternal(AbstractDevServerRunner.java:653)
at com.vaadin.base.devserver.DevBundleBuildingHandler.handleRequest(DevBundleBuildingHandler.java:94)
at com.vaadin.flow.server.VaadinService.handleRequest(VaadinService.java:1574)
at com.vaadin.flow.server.VaadinServlet.service(VaadinServlet.java:398)
at com.vaadin.flow.spring.SpringServlet.service(SpringServlet.java:106)
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:642)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:408)

Might be a problem related to your used add-ons, it is possible that some are not compatible with Vaadin 24. See also lit-html/is-server.js cannot be found caused by missing version for lit · Issue #15007 · vaadin/flow · GitHub

1 Like

Thank you @knoobie for your reply and help. we can resolve this issue.

We’re facing another issue while the application is up.

Failed to find the following files:
- ./generated/jar-resources/lit-renderer.ts
- ./generated/jar-resources/cookieConsentConnector.js
- ./generated/jar-resources/vaadin-time-picker/timepickerConnector.js
- ./generated/jar-resources/lit-pagination.js
- ./generated/jar-resources/contextMenuConnector.js
- ./generated/jar-resources/vaadin-grid-flow-selection-column.js
- ./generated/jar-resources/buttonFunctions.js
- ./generated/jar-resources/gridConnector.ts
- ./generated/jar-resources/dndConnector.js
- ./generated/jar-resources/messageListConnector.js
- ./generated/jar-resources/contextMenuTargetConnector.js
- ./generated/jar-resources/datepickerConnector.js
- ./generated/jar-resources/vaadin-big-decimal-field.js
- ./generated/jar-resources/comboBoxConnector.js
- ./generated/jar-resources/selectConnector.js
- ./generated/jar-resources/tooltip.ts
- ./generated/jar-resources/flow-component-renderer.js
- ./generated/jar-resources/gridProConnector.js
- ./generated/jar-resources/menubarConnector.js
- ./generated/jar-resources/virtualListConnector.js
- ./generated/jar-resources/vaadin-map/mapConnector.js

Locations searched were:
- D:\my-app\frontend in this project
- META-INF/frontend in included JARs
- META-INF/resources/frontend in included JARs

Please, double check that those files exist. If you use a custom directory for your resource files instead of default frontend folder then make sure you it’s correctly configured (e.g. set ‘vaadin.frontend.frontend.folder’ property)