Java 使用spring数据jpa和querydsl的Maven构建问题
我有一个Eclipse Maven项目,用于spring数据jpa和QueryDsl 我似乎对maven apt插件有问题,如果我先进行mvn清理,然后再进行mvn安装,它会尝试“处理”引用QueryDsl生成的文件的文件,但这些生成的文件尚未生成,因此会出现多个“找不到符号”错误 如果然后必须进行另一次mvn安装,则一切正常,因为生成的文件现在已经存在 这个maven apt插件需要处理我项目中的每个文件吗,或者我可以给它指定一个目录吗 注意:Im使用JDK6、EclipseIndigo、M2E1.0.100 我的POM是:Java 使用spring数据jpa和querydsl的Maven构建问题,java,spring,maven-2,spring-data,querydsl,Java,Spring,Maven 2,Spring Data,Querydsl,我有一个Eclipse Maven项目,用于spring数据jpa和QueryDsl 我似乎对maven apt插件有问题,如果我先进行mvn清理,然后再进行mvn安装,它会尝试“处理”引用QueryDsl生成的文件的文件,但这些生成的文件尚未生成,因此会出现多个“找不到符号”错误 如果然后必须进行另一次mvn安装,则一切正常,因为生成的文件现在已经存在 这个maven apt插件需要处理我项目中的每个文件吗,或者我可以给它指定一个目录吗 注意:Im使用JDK6、EclipseIndigo、M2
<project>
....
<build>
<plugins>
<plugin>
<groupId>com.mysema.maven</groupId>
<artifactId>maven-apt-plugin</artifactId>
<version>1.0.2</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>process</goal>
</goals>
<configuration>
<outputDirectory>target/generated-sources</outputDirectory>
<processor>com.mysema.query.apt.jpa.JPAAnnotationProcessor</processor>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
....
</project>
....
com.mysema.maven
maven apt插件
1.0.2
生成源
过程
目标/生成源
com.mysema.query.apt.jpa.JPAAnnotationProcessor
....
您收到的是错误还是警告?您可以添加true以减少错误记录
此类日志记录是APT的一部分,因为在生成类型之前的第一次运行中,源代码检查会看到对不可用类型的引用。Alex,请尝试定义生成帮助程序:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
<goal>add-test-source</goal>
</goals>
<configuration>
<sources>
<source>target/generated-sources</source>
<source>src/main/java</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
org.codehaus.mojo
构建助手maven插件
1.7
添加源
生成源
添加源
添加测试源
目标/生成源
src/main/java
我也有很多“找不到符号”日志记录(处理成功)。这似乎与以下问题有关
通过添加以下选项进行修复
<logOnlyOnError>true</logOnlyOnError>
true
如果在没有eclipse的情况下使用maven,您是否也会遇到同样的问题?嗨,拉尔夫,请参阅下面我的评论。谢谢。在Eclipse控制台窗口中,在maven apt plugin:1.0.2:process阶段,我得到一些红色文本输出(不是日志记录),表明没有找到符号。这适用于引用QDSL生成的类的任何类。作为mvn安装的一部分运行的测试将失败,因为Spring因未解决的编译器错误而失败。如果我直接重做mvn安装,一切都会很好。根据Ralph上面的评论,如果我运行mvn clean,然后从命令行运行mvn install,我会看到maven apt插件关于找不到符号的相同输出,但是我对测试失败没有问题。因此,这个问题只有在EclipseMaye中才会出现,您可以为构建配置Eclipse自己的APT。这可能比M2E+APT更好。您在JPA标准API中有类似的问题吗?我使用了此处记录的M2E querydsl配置器,您能否验证您在使用的设置中是否遇到过问题?