Java 使用spring数据jpa和querydsl的Maven构建问题

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

我有一个Eclipse Maven项目,用于spring数据jpa和QueryDsl

我似乎对maven apt插件有问题,如果我先进行mvn清理,然后再进行mvn安装,它会尝试“处理”引用QueryDsl生成的文件的文件,但这些生成的文件尚未生成,因此会出现多个“找不到符号”错误

如果然后必须进行另一次mvn安装,则一切正常,因为生成的文件现在已经存在

这个maven apt插件需要处理我项目中的每个文件吗,或者我可以给它指定一个目录吗

注意:Im使用JDK6、EclipseIndigo、M2E1.0.100

我的POM是:

<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配置器,您能否验证您在使用的设置中是否遇到过问题?