Skip to content

Gretty adds javaparser to Tomcat classpath, overriding the web app javaparser version #317

@Artur-

Description

@Artur-
git clone git@github.com:vaadin/base-starter-gradle.git
cd base-starter-gradle
git checkout tomcat
./gradlew appRun 

fails with

May 09, 2025 9:26:39 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Allocate exception for servlet [com.vaadin.flow.server.startup.ServletDeployer]
java.lang.ExceptionInInitializerError: Exception java.lang.NoSuchFieldError: Class com.github.javaparser.ParserConfiguration$LanguageLevel does not have member field 'com.github.javaparser.ParserConfiguration$LanguageLevel JAVA_21' [in thread "main"]
        at com.vaadin.copilot.Copilot.<clinit>(Copilot.java:28)
        at com.vaadin.copilot.CopilotIndexHtmlLoader.serviceInit(CopilotIndexHtmlLoader.java:44)
        at com.vaadin.flow.server.VaadinService.lambda$init$0(VaadinService.java:271)

because as you can see when running with

./gradlew appRun --debug

the servlet container classpath has an old javaparser version that gets picked up

2025-05-09T09:27:12.829+0300 [DEBUG] [org.akhikhl.gretty.LauncherBase] {
    "servletContainerId": "tomcat10",
    "servletContainerDescription": "Tomcat 10.1.19",
    "servletContainerClasspath": [
        "/.../.gradle/wrapper/dists/gradle-8.7-bin/bhs2wmbdwecv87pi65oeuq5iu/gradle-8.7/lib/groovy-3.0.17.jar",
        "/.../.gradle/wrapper/dists/gradle-8.7-bin/bhs2wmbdwecv87pi65oeuq5iu/gradle-8.7/lib/groovy-ant-3.0.17.jar",
        "/.../.gradle/wrapper/dists/gradle-8.7-bin/bhs2wmbdwecv87pi65oeuq5iu/gradle-8.7/lib/groovy-astbuilder-3.0.17.jar",
        "/.../.gradle/wrapper/dists/gradle-8.7-bin/bhs2wmbdwecv87pi65oeuq5iu/gradle-8.7/lib/groovy-console-3.0.17.jar",
        "/.../.gradle/wrapper/dists/gradle-8.7-bin/bhs2wmbdwecv87pi65oeuq5iu/gradle-8.7/lib/groovy-datetime-3.0.17.jar",
        "/.../.gradle/wrapper/dists/gradle-8.7-bin/bhs2wmbdwecv87pi65oeuq5iu/gradle-8.7/lib/groovy-dateutil-3.0.17.jar",
        "/.../.gradle/wrapper/dists/gradle-8.7-bin/bhs2wmbdwecv87pi65oeuq5iu/gradle-8.7/lib/groovy-groovydoc-3.0.17.jar",
        "/.../.gradle/wrapper/dists/gradle-8.7-bin/bhs2wmbdwecv87pi65oeuq5iu/gradle-8.7/lib/groovy-json-3.0.17.jar",
        "/.../.gradle/wrapper/dists/gradle-8.7-bin/bhs2wmbdwecv87pi65oeuq5iu/gradle-8.7/lib/groovy-nio-3.0.17.jar",
        "/.../.gradle/wrapper/dists/gradle-8.7-bin/bhs2wmbdwecv87pi65oeuq5iu/gradle-8.7/lib/groovy-sql-3.0.17.jar",
        "/.../.gradle/wrapper/dists/gradle-8.7-bin/bhs2wmbdwecv87pi65oeuq5iu/gradle-8.7/lib/groovy-templates-3.0.17.jar",
        "/.../.gradle/wrapper/dists/gradle-8.7-bin/bhs2wmbdwecv87pi65oeuq5iu/gradle-8.7/lib/groovy-test-3.0.17.jar",
        "/.../.gradle/wrapper/dists/gradle-8.7-bin/bhs2wmbdwecv87pi65oeuq5iu/gradle-8.7/lib/groovy-xml-3.0.17.jar",
        "/.../.gradle/wrapper/dists/gradle-8.7-bin/bhs2wmbdwecv87pi65oeuq5iu/gradle-8.7/lib/javaparser-core-3.17.0.jar",

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions