Я использую Spring Boot 1.5.13 с QueryDSL, и всякий раз, когда я вызываю контроллер, я получаю следующий 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 присутствует. Как мне решить эту проблему?
Ниже мой pom.xml для QueryDSL:
<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>
Я пробовал это несколько раз, но ошибка все еще сохраняется
Какова ваша структура каталогов?




Когда вы создаете или развертываете свое приложение, просто проверьте, есть ли какое-либо предупреждение, такое как неверный заголовок loc (плохая подпись), для какой-либо конкретной банки (в вашем случае это может быть связано с классом QAddress).
Если он показывает эту ошибку для любого jar-файла, удалите эту папку из репозитория .m2 и перестройте его, затем он снова загрузит этот jar-файл и попытается перезапустить ваше приложение.
Для всех, у кого возникла такая же проблема, эта проблема была связана с NetBeans. Когда я начал использовать Intellij IDEA, проблема была решена.