Spring Boot 1.5.13 - QueryDSL Query ClassNotFoundException?

Я использую 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>
чистая установка сборки
Mehraj Malik 24.05.2018 06:47

Я пробовал это несколько раз, но ошибка все еще сохраняется

Charlie 24.05.2018 06:51

Какова ваша структура каталогов?

yunandtidus 24.05.2018 09:46
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
3
537
2

Ответы 2

Когда вы создаете или развертываете свое приложение, просто проверьте, есть ли какое-либо предупреждение, такое как неверный заголовок loc (плохая подпись), для какой-либо конкретной банки (в вашем случае это может быть связано с классом QAddress).

Если он показывает эту ошибку для любого jar-файла, удалите эту папку из репозитория .m2 и перестройте его, затем он снова загрузит этот jar-файл и попытается перезапустить ваше приложение.

Для всех, у кого возникла такая же проблема, эта проблема была связана с NetBeans. Когда я начал использовать Intellij IDEA, проблема была решена.

Другие вопросы по теме