Maven使用spring-data-jpa和querydsl构建问题

Ale*_*lex 5 java spring maven-2 querydsl spring-data

我有一个针对spring-data-jpa和QueryDsl的Eclipse Maven项目.

我似乎有一个maven-apt-plugin的问题,如果我做一个mvn clean然后安装mvn,它会尝试"处理"引用QueryDsl生成文件的文件,但是这些生成的文件尚未构建,所以我得到多个"找不到符号"的错误.

如果那时必须再做一次mvn安装,一切都很好,因为现在生成的文件存在.

这个maven-apt-plugin是否需要处理我项目中的每个文件,还是可以给它一个指定的目录?

注意:我使用的是JDK6,Eclipse Indigo,M2E 1.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>
Run Code Online (Sandbox Code Playgroud)

小智 4

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>
Run Code Online (Sandbox Code Playgroud)