我不确定这是关于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 /目录中的确切类数。
答案 0 :(得分:1)
这些警告由javac打印,因为Q-classes尚不可用。
根据javac文档,您可以使用-nowarn标记来抑制警告。
答案 1 :(得分:0)
升级到Java 7(来自Java 6)后,问题就消失了。