java为什么maven不从TestClass生成源代码?
我有一些测试类使用Querydsl进行单元测试。
Querydsl通常会生成一个查询类型类,但如果类位于测试目录中,则不会生成该类。
只要我把文件放在src/main中并用maven编译,它就可以正常工作。
因为我只在测试中使用这些类,所以我不想将这些文件放在这个目录中。有人能帮我吗
我的目录结构
src/main/java
src/main/resources
src/test/java/
src/测试/资源
正如我所说,将文件放在这个目录“src/main/java”中,将生成查询类型类,但将文件放在这个目录src/test/java/中,将不会生成类型类
Maven APT插件,生成Querydsl使用的查询类型
<plugin>
<groupId>com.mysema.maven</groupId>
<artifactId>apt-maven-plugin</artifactId>
<version>1.1.3</version>
<executions>
<execution>
<goals>
<goal>process</goal>
</goals>
<configuration>
<outputDirectory>target/generated-test-sources/java</outputDirectory>
<processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
<version>4.1.0</version>
</dependency>
</dependencies>
</plugin>
# 1 楼答案
我们可以解决同样的问题。 我发现这个解决方案还可以为测试源生成“Q”实体。 诀窍是使用插件的测试过程目标。将其添加到生成测试源阶段会在正确的时间生成它们(测试编译)
注意,这将为主和测试源生成实体