I ran into a problem with deploying Vaadin 24.6.6 (jdk 19)
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal e[32mcom.vaadin:vaadin-maven-plugin:24.6.6:prepare-frontende[m e[1m(default)e[m on project e[36mConsolidated-Asset-Solutione[m: e[1;31mnulle[m
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2(MojoExecutor.java:333)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute(MojoExecutor.java:316)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:174)
at org.apache.maven.lifecycle.internal.MojoExecutor.access$000(MojoExecutor.java:75)
at org.apache.maven.lifecycle.internal.MojoExecutor$1.run(MojoExecutor.java:162)
at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute(DefaultMojosExecutionStrategy.java:39)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:159)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:105)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:73)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:53)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:118)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:261)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:173)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:101)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:904)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:281)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:204)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:578)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:255)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:201)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:361)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:314)
Caused by: org.apache.maven.plugin.MojoFailureException
at com.vaadin.flow.plugin.maven.FlowModeAbstractMojo.execute(FlowModeAbstractMojo.java:313)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:126)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2(MojoExecutor.java:328)
... 23 more
Caused by: java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:119)
at java.base/java.lang.reflect.Method.invoke(Method.java:578)
at com.vaadin.flow.plugin.maven.FlowModeAbstractMojo.execute(FlowModeAbstractMojo.java:306)
... 25 more
Caused by: org.apache.maven.plugin.MojoFailureException: Could not execute prepare-frontend goal.
at com.vaadin.flow.plugin.maven.PrepareFrontendMojo.executeInternal(PrepareFrontendMojo.java:58)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
... 27 more
Caused by: com.vaadin.flow.server.ExecutionFailedException: Error occured during goal execution: Cannot invoke "java.lang.Class.isInterface()" because the return value of "org.reflections.Reflections.forClass(String, java.lang.ClassLoader[])" is null
Please run Maven with the -e switch (or Gradle with the --stacktrace switch), to learn the full stack trace.
at com.vaadin.flow.plugin.base.BuildFrontendUtil.prepareFrontend(BuildFrontendUtil.java:187)
at com.vaadin.flow.plugin.maven.PrepareFrontendMojo.executeInternal(PrepareFrontendMojo.java:56)
... 28 more
Caused by: java.lang.NullPointerException: Cannot invoke "java.lang.Class.isInterface()" because the return value of "org.reflections.Reflections.forClass(String, java.lang.ClassLoader[])" is null
at org.reflections.Reflections.lambda$getTypesAnnotatedWith$12(Reflections.java:405)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178)
at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1921)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at org.reflections.util.QueryFunction.lambda$filter$3(QueryFunction.java:32)
at org.reflections.util.QueryFunction.lambda$add$9(QueryFunction.java:66)
at org.reflections.util.QueryFunction.lambda$add$9(QueryFunction.java:66)
at org.reflections.util.QueryFunction.lambda$asClass$13(QueryFunction.java:89)
at org.reflections.Reflections.get(Reflections.java:365)
at org.reflections.Reflections.getTypesAnnotatedWith(Reflections.java:403)
at com.vaadin.flow.server.scanner.ReflectionsClassFinder.getAnnotatedByRepeatedAnnotation(ReflectionsClassFinder.java:103)
at com.vaadin.flow.server.scanner.ReflectionsClassFinder.getAnnotatedClasses(ReflectionsClassFinder.java:92)
at com.vaadin.flow.server.frontend.scanner.ClassFinder$CachedClassFinder.lambda$getAnnotatedClasses$0(ClassFinder.java:154)
at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1228)
at com.vaadin.flow.server.frontend.scanner.ClassFinder$CachedClassFinder.getAnnotatedClasses(ClassFinder.java:153)
at com.vaadin.flow.server.frontend.scanner.FullDependenciesScanner.discoverPackages(FullDependenciesScanner.java:264)
at com.vaadin.flow.server.frontend.scanner.FullDependenciesScanner.<init>(FullDependenciesScanner.java:154)
at com.vaadin.flow.server.frontend.scanner.FullDependenciesScanner.<init>(FullDependenciesScanner.java:110)
at com.vaadin.flow.server.frontend.scanner.FrontendDependenciesScanner$FrontendDependenciesScannerFactory.createScanner(FrontendDependenciesScanner.java:103)
at com.vaadin.flow.server.frontend.scanner.FrontendDependenciesScanner$FrontendDependenciesScannerFactory.createScanner(FrontendDependenciesScanner.java:115)
at com.vaadin.flow.server.frontend.NodeTasks.<init>(NodeTasks.java:123)
at com.vaadin.flow.plugin.base.BuildFrontendUtil.prepareFrontend(BuildFrontendUtil.java:181)
... 29 more
[ERROR]
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] e[1m[Help 1]e[m http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
Only things that come to mind, you are using “–enable-preview” which could cause problems or your JDK19… which nobody uses… JDK 17 or 21++ are tested
This usually happens when classes are compiled with a Java version, but the build tool is executed with another older version.
For example, you compiled classes (e.g. with the IDE) with Java 21 and then run Gradle or Maven with Java 17
Thank you for replying.
I check I am running Maven with jdk21, the same as used for compiling.
I ran maven with -e, it seems no class from vaadin can be found when running prepare-frontend
>>> Running prepare-frontend
System.properties:
project.basedir: C:\Users\Steeve\git\cas-md\application\Consolidated-Asset-Solution
Goal parameters:
npmFolder: C:\Users\Steeve\git\cas-md\application\Consolidated-Asset-Solution
Token file: C:\Users\Steeve\git\cas-md\application\Consolidated-Asset-Solution\target\classes\META-INF\VAADIN\config\flow-build-info.json
Token content: {"productionMode":false,"eagerServerLoad":false,"npmFolder":"C:\\Users\\Steeve\\git\\cas-md\\application\\Consolidated-Asset-Solution","node.version":"v22.14.0","node.download.root":"https://nodejs.org/dist/","frontendFolder":"C:\\Users\\Steeve\\git\\cas-md\\application\\Consolidated-Asset-Solution\\.\\frontend","connect.javaSourceFolder":"C:\\Users\\Steeve\\git\\cas-md\\application\\Consolidated-Asset-Solution\\src\\main\\java","javaResourceFolder":"C:\\Users\\Steeve\\git\\cas-md\\application\\Consolidated-Asset-Solution\\src\\main\\resources","connect.applicationProperties":"C:\\Users\\Steeve\\git\\cas-md\\application\\Consolidated-Asset-Solution\\src\\main\\resources\\application.properties","connect.openApiFile":"C:\\Users\\Steeve\\git\\cas-md\\application\\Consolidated-Asset-Solution\\target\\generated-resources\\openapi.json","project.frontend.generated":"C:\\Users\\Steeve\\git\\cas-md\\application\\Consolidated-Asset-Solution\\.\\frontend\\generated","pnpm.enable":false,"bun.enable":false,"require.home.node":false,"build.folder":"target","react.enable":true}
[DEBUG] Command '[where, node.exe]' has non-empty stderr but assuming this is fine:
''
[DEBUG] Command '[C:\Program Files\nodejs\node.exe, -v]' has non-empty stderr but assuming this is fine:
''
[DEBUG] Using node 22.16.0 located at C:\Program Files\nodejs\node.exe
[DEBUG] Command '[where, npm.cmd]' has non-empty stderr but assuming this is fine:
''
[DEBUG] Command '[C:\Program Files\nodejs\npm.cmd, -v]' has non-empty stderr but assuming this is fine:
''
[DEBUG] Command '[where, npm.cmd]' has non-empty stderr but assuming this is fine:
''
[DEBUG] Command '[C:\Program Files\nodejs\npm.cmd, -v]' has non-empty stderr but assuming this is fine:
''
[DEBUG] Using npm 11.4.1 located at C:\Program Files\nodejs\npm.cmd
[DEBUG] Using cached Reflector for plugin com.vaadin:vaadin-maven-plugin and phase compile
[DEBUG] Auto-detected client-side router to use: react-router
[DEBUG] Auto-detected client-side router to use: react-router
[DEBUG] Auto-detected client-side router to use: react-router
[DEBUG] Can't load class mc.monaco.decision.ConsolidatedAssetSolution.vaadin.component.slider.PercentField
java.lang.NoClassDefFoundError: com/vaadin/flow/component/shared/HasAllowedCharPattern
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1027)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:524)
at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:427)
at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:421)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:714)
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:420)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:593)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
at com.vaadin.flow.plugin.maven.Reflector$CombinedClassLoader.loadClass(Reflector.java:381)
at com.vaadin.flow.server.scanner.ReflectionsClassFinder$LoggingReflections.forClass(ReflectionsClassFinder.java:176)
at org.reflections.Reflections.lambda$getTypesAnnotatedWith$12(Reflections.java:405)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178)
at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1939)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at org.reflections.util.QueryFunction.lambda$filter$3(QueryFunction.java:32)
at org.reflections.util.QueryFunction.lambda$add$9(QueryFunction.java:66)
at org.reflections.util.QueryFunction.lambda$add$9(QueryFunction.java:66)
at org.reflections.util.QueryFunction.lambda$asClass$13(QueryFunction.java:89)
at org.reflections.Reflections.get(Reflections.java:365)
at org.reflections.Reflections.getTypesAnnotatedWith(Reflections.java:403)
at com.vaadin.flow.server.scanner.ReflectionsClassFinder.getAnnotatedByRepeatedAnnotation(ReflectionsClassFinder.java:103)
at com.vaadin.flow.server.scanner.ReflectionsClassFinder.getAnnotatedClasses(ReflectionsClassFinder.java:92)
at com.vaadin.flow.server.frontend.scanner.ClassFinder$CachedClassFinder.lambda$getAnnotatedClasses$0(ClassFinder.java:154)
at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1228)
at com.vaadin.flow.server.frontend.scanner.ClassFinder$CachedClassFinder.getAnnotatedClasses(ClassFinder.java:153)
at com.vaadin.flow.server.frontend.scanner.FullDependenciesScanner.discoverPackages(FullDependenciesScanner.java:251)
at com.vaadin.flow.server.frontend.scanner.FullDependenciesScanner.<init>(FullDependenciesScanner.java:141)
at com.vaadin.flow.server.frontend.scanner.FullDependenciesScanner.<init>(FullDependenciesScanner.java:97)
at com.vaadin.flow.server.frontend.scanner.FrontendDependenciesScanner$FrontendDependenciesScannerFactory.createScanner(FrontendDependenciesScanner.java:103)
at com.vaadin.flow.server.frontend.scanner.FrontendDependenciesScanner$FrontendDependenciesScannerFactory.createScanner(FrontendDependenciesScanner.java:115)
at com.vaadin.flow.server.frontend.NodeTasks.<init>(NodeTasks.java:123)
at com.vaadin.flow.plugin.base.BuildFrontendUtil.prepareFrontend(BuildFrontendUtil.java:181)
at com.vaadin.flow.plugin.maven.PrepareFrontendMojo.executeInternal(PrepareFrontendMojo.java:56)
at com.vaadin.hilla.maven.PrepareFrontendMojo.executeInternal(PrepareFrontendMojo.java:50)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at com.vaadin.flow.plugin.maven.FlowModeAbstractMojo.execute(FlowModeAbstractMojo.java:306)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:126)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2(MojoExecutor.java:328)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute(MojoExecutor.java:316)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:174)
at org.apache.maven.lifecycle.internal.MojoExecutor.access$000(MojoExecutor.java:75)
at org.apache.maven.lifecycle.internal.MojoExecutor$1.run(MojoExecutor.java:162)
at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute(DefaultMojosExecutionStrategy.java:39)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:159)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:105)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:73)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:53)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:118)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:261)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:173)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:101)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:904)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:281)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:204)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:255)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:201)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:361)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:314)
Caused by: java.lang.ClassNotFoundException: com.vaadin.flow.component.shared.HasAllowedCharPattern
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
at com.vaadin.flow.plugin.maven.Reflector$CombinedClassLoader.loadClass(Reflector.java:392)
... 69 more
[ERROR] The build process encountered an error: Could not execute prepare-frontend goal. Error occured during goal execution: Cannot invoke "java.lang.Class.isInterface()" because the return value of "org.reflections.Reflections.forClass(String, java.lang.ClassLoader[])" is null
Kinda funny that you got that exception for a class that’s over two years old. Could it be possible that you have some dependency conflict in your build which includes a really old Vaadin Version somewhere? This can sometimes be seen with add-ons that include too much…
I’m surprised! Usually it is the opposite ( Just kidding )
The NoClassDefFoundError makes me think to a classpath problem, as Knoobie already pointed out. Can you provide the dependency tree ? mvn dependency:tree with Maven, but I don’t know the Gradle command
At a first quick look, it seems build-frontend is executed before the compilation.
I wonder if the goal is bound to a wrong maven phase. It should bound to compile