Несколько вопросов о QueryDSL, Spring Data и Gradle - PullRequest
0 голосов
/ 05 декабря 2018

Я использую Spring Data для проекта веб-сервера, над которым я работаю.Для своего инструмента сборки я использую Gradle и пытаюсь интегрировать QueryDSL, чтобы иметь возможность писать динамические запросы в моем приложении к моей базе данных (MongoDB, если это имеет значение).У меня есть несколько вопросов о правильной настройке среды:

1) После интеграции QueryDSL я заметил, что некоторые из моих этапов сборки начали давать сбой.В частности, есть 2 шага сборки с именами compileQuerydslJava и findbugsQuerydsl (последний из плагина FindBugs), которые не выполняются.Судя по сообщениям об ошибках, создается впечатление, что файлы, сгенерированные QueryDSL, не могут быть получены необходимыми механизмами.В частности, для findbugsQuerydsl полученная ошибка выглядит следующим образом:

> Task :my-service:findbugsQuerydsl FAILED
No files to be analyzed

Для compileQuerydslJava ошибка выглядит следующим образом:

> Task :message-service:compileQuerydslJava FAILED
C:\MY_PATH\QMyEntity.java:3: error: package com.querydsl.core.types does not exist
import static com.querydsl.core.types.PathMetadataFactory.*;

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

2) Другой разработчик из моей команды проверил этот код и попытался запустить его, но сгенерированные QueryDSL классы не создавались для него автоматически.Это вызывало у него ошибки компиляции в приложении, пока он не запустил gradle build.Я бы предпочел, чтобы это не было стандартной практикой, а для того, чтобы требуемые файлы Querydsl создавались автоматически, как библиотека.Есть ли способ сделать это?Или, по крайней мере, иметь файлы, сгенерированные во время компиляции, чтобы это не вызывало ошибок компиляции?

Я не уверен, какая информация полезна для отладки этого, поэтому, пожалуйста, задайте любые вопросы, которые были бы полезны, чтобы помочьмне.Спасибо.

РЕДАКТИРОВАТЬ:

1) Для справки, моя версия Querydsl 4.1.4.Я знаю, что это не самая последняя версия, но это была версия, используемая в руководстве, которое я использовал для настройки Querydsl.Если рекомендую, я могу попробовать 4.2.1.

...