Skip to content

Compilation error due to QueryDSL annotation processor in Spring Data Couchbase 5.2.4 #1929

Closed
@ajschutte

Description

@ajschutte

We just upgraded to Spring Boot 3.2.4 and Spring Data Couchbase 5.2.4. We are getting the compilation error below. Adding that javax dependency is not an option since we migrated to jakarta. There also does not seem to be an obvious way to disable QueryDSL annotation processing, at least not with Maven. We are really not interested in using QueryDSL with Couchbase.

I temporarily got around the issue by doing this:

        <dependency>
            <groupId>com.querydsl</groupId>
            <artifactId>querydsl-apt</artifactId>
            <version>${querydsl.version}</version>
            <classifier>jakarta</classifier>
        </dependency>
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-couchbase</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>com.querydsl</groupId>
                    <artifactId>querydsl-apt</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

Our previous version was 5.2.2, so something changed from 5.2.2 -> 5.2.4 that causes this.

The error is pretty easy to replicate with a minimal project (that does not include the legacy javax library).

Caused by: java.lang.NoClassDefFoundError: javax/inject/Inject
    at com.querydsl.codegen.AbstractModule.createInstance (AbstractModule.java:125)
    at com.querydsl.codegen.AbstractModule.get (AbstractModule.java:95)
    at com.querydsl.apt.DefaultConfiguration.getTypeMappings (DefaultConfiguration.java:480)
    at com.querydsl.apt.AbstractQuerydslProcessor.process (AbstractQuerydslProcessor.java:85)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor (JavacProcessingEnvironment.java:1023)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions