JPAAnnotationProcessor处理由ant排除的文件

时间:2014-03-13 06:51:42

标签: ant querydsl

我不确定这是关于ant还是QueryDSL的 JPAAnnotationProcessor 的问题。

我在build.xml中有以下目标:

<target name="querydsl" depends="-prepare">
   <javac srcdir="${src.java.home}" classpathref="compile.classpath" includeantruntime="false">
      <include name="de/foo/bar/database/model/**"/>
      <compilerarg value="-proc:only"/>      
      <compilerarg value="-processor"/>
      <compilerarg value="com.mysema.query.apt.jpa.JPAAnnotationProcessor"/>
      <compilerarg value="-s"/>
      <compilerarg value="${src.java.generated.home}"/>
   </javac>
</target>

我只希望处理位于de / foo / bar / database / model /下的类。

当我执行ant querydsl时,我从位于ant include参数之外的类中得到编译错误,例如

[javac] C:\projects\main\cxlBackend\src\main\java\de\foo\bar\database\service\company\CompanyServiceImpl.java:96: cannot find symbol
[javac] symbol  : class QAccount

我尝试使用

明确排除此类
<exclude name="de/foo/bar/database/service/company/CompanyServiceImpl.java"/>

但我仍然遇到同样的错误。

编辑:一开始,蚂蚁写道:

[javac] Compiling 267 source files

这是de / foo / bar / database / model /目录中的确切类数。

2 个答案:

答案 0 :(得分:1)

这些警告由javac打印,因为Q-classes尚不可用。

根据javac文档,您可以使用-nowarn标记来抑制警告。

答案 1 :(得分:0)

升级到Java 7(来自Java 6)后,问题就消失了。