如何仅通过指定包名称来生成 QueryDsl Q-Class?鉴于源类位于我的目标/生成源文件夹中,因为它们是其他构建插件(WSDL、XSD 等)的产品
我尝试使用以下插件,但找不到正确的配置:
<groupId>com.mysema.querydsl</groupId>
<artifactId>querydsl-maven-plugin</artifactId>
<version>2.9.0</version>
<executions>
<phase>generate-sources</phase>
<goals>
<goal>process</goal>
</goals>
<configuration>
<outputDirectory>target/generated-sources</outputDirectory>
<processor>${com.mysema.query.apt.ProcessorClass}</processor>
</configuration>
</executions>
和:
<groupId>com.mysema.maven</groupId>
<artifactId>maven-apt-plugin</artifactId>
<version>1.0.4</version>
我想做的是这样的:
<configuration>
<packageName>com.my.package</packageName>
<sourceFolder>target/generated-sources</sourceFolder>
<targetFolder>target/generated-sources/querydsl</targetFolder>
</configuration>
...这将生成类:
- com.my.package.QFoo.java
- com.my.package.QBar.java
由于没有通用的 JPA 或 JDO 注释,而且我无权访问源文件,因此我无法将任何com.mysema.query.apt.*Processor
s 用于 maven-apt-plugin 的<processor>
.
编辑 1:添加了完整的 maven-apt-plugin 配置。
编辑 2:
- 我能够通过 maven 命令行让 maven-apt-plugin 偶尔工作,但不能通过扩展AbstractQuerydslProcessor
查找@XmlType
-annotated 类来让 Eclipse/STS 工作。双重代码生成诚然不是一个理想的解决方案。