java - Spring Boot 1.5.13 - QueryDSL 查询 ClassNotFoundException?

标签 java spring spring-boot querydsl

我将 Spring Boot 1.5.13 与 QueryDSL 一起使用,每当我向 Controller 发出调用时,我都会收到以下 ClassNotFoundException

Caused by: java.lang.ClassNotFoundException: api.model.QAddress
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_121]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_121]
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) ~[na:1.8.0_121]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_121]
    at org.springframework.boot.devtools.restart.classloader.RestartClassLoader.loadClass(RestartClassLoader.java:161) ~[spring-boot-devtools-1.5.13.RELEASE.jar:1.5.13.RELEASE]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_121]
    ... 211 common frames omitted

但是,当我检查生成的包时,类 QAddress 就在那里。我该如何解决这个问题?

下面是我的QueryDSLpom.xml:

        <dependency> 
            <groupId>com.querydsl</groupId> 
            <artifactId>querydsl-apt</artifactId> 
        </dependency>
        <dependency> 
            <groupId>com.querydsl</groupId> 
            <artifactId>querydsl-jpa</artifactId> 
        </dependency>

         <plugin>
                <groupId>com.mysema.maven</groupId>
                <artifactId>maven-apt-plugin</artifactId>
                <version>1.0</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>process</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>target/generated-sources</outputDirectory>
                            <processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

最佳答案

当您构建或部署应用程序时,只需验证任何特定 jar 是否存在任何警告,例如无效的 loc header (错误签名)(在您的情况下,可能是与 QAddress 类相关的 jar)。

如果任何 jar 显示此错误,请从 .m2 存储库中删除该文件夹并重建它,然后它将再次下载该 jar 并尝试重新启动您的应用程序。

关于java - Spring Boot 1.5.13 - QueryDSL 查询 ClassNotFoundException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50501161/

相关文章:

java - 在类路径资源 : Invocation of init method failed 中定义名称为 'entityManagerFactory' 的 bean 创建错误

java - Spring boot 在 tomcat 上部署为 WAR,如何为不同的配置文件外部化 application.properties(Dev、Test、Staging、Prod)

java - 在 spring boot 应用程序的服务层中正确使用 Optionals

java - junit 不尊重 Maven 类路径

java - 问题,切换到另一个 fragment 后 fragment 数据被清除

java - Spring Rest在@RequestBody中添加@NotEmpty而不创建请求POJO

java - 如何从applicationContext.xml中的bean读取值?

java - 如何覆盖Spring Boot属性?

java - 不区分大小写的等于使用 Hibernate Criteria

java - Oauth2 使用 grant_type client_credentials 获取 token