Eclipse: проблема с apt-maven-plugin, создающим «пустой» класс
У меня есть проект, который используетcom.mysema.maven:apt-maven-plugin:1.0.4
автоматически генерировать классы, используемые для запроса-DSL.
Проект отлично строится с maven, выполняемым в командной строке.
Однако, когда я создаю тот же проект в Eclipse, генерируются «Q-классы» (так называемые, потому что все они имеют префикс имени «Q»), за исключением одного из них:
СортQZHStRegisterJPBaseOptimisticLockingEntity
создается как "пустой" файл.
Как ни странно, этот сгенерированный исходный файл не является полностью пустым, но содержит имя пакета и два импорта, но не более того, т.е. он не содержит объявления класса, и, таким образом, этот класс (на который ссылаются многие другие классы) не существует, что приводит к тоннам ошибки компиляции.
Вот как выглядит сгенерированный исходный файл:
package ch.zh.ksta.zhstregisterjp.dom.base;
import static com.mysema.query.types.PathMetadataFactory.*;
import com.mysema.query.types.path.*;
Кто-нибудь знает, почему это не работает и что может привести к тому, что apt-maven-plugin выдаст такой «неполный» неполный файл???
На всякий случай: плагин запускается . Я определил отображение жизненного цикла Maven в eclipse следующим образом:
...
<pluginExecution>
<pluginExecutionFilter>
<groupId>com.mysema.maven</groupId>
<artifactId>apt-maven-plugin</artifactId> <!-- the new artifactId -->
<versionRange>[1.0.4,)</versionRange>
<goals>
<goal>generate-sources</goal>
<goal>process</goal>
<goal>test-process</goal>
</goals>
</pluginExecutionFilter>
<action>
<!-- ->
<ignore/>
<!- -->
<execute>
<runOnConfiguration>true</runOnConfiguration>
<runOnIncremental>true</runOnIncremental>
</execute>
</action>
</pluginExecution>
...
Кроме того, Q-классы генерируются нормально во время сборки, за исключением упомянутого единственного «пустого».