运行Ant构建脚本(Ant 1.8.2,Java 1.6)时,我收到此警告。
[javac] warning: Implicitly compiled files were not subject to annotation processing.
[javac] Use -proc:none to disable annotation processing or -implicit to specify a policy for implicit compilation.
[javac] 1 warning
添加<compilerarg value="implicit" />
会产生:
[javac] error: Class names, 'implicit', are only accepted if annotation processing is explicitly requested
[javac] 1 error
添加<compilerarg value="proc:none" />
会产生:
[javac] javac: invalid flag: proc:none
[javac] Usage: javac <options> <source files>
[javac] use -help for a list of possible options
有人可以了解警告的含义,以及如何摆脱警告?
答案 0 :(得分:0)
我创建了一个简单的build.xml
<?xml version="1.0" encoding="UTF-8"?>
<project name="test" default="build" basedir=".">
<target name="build">
<javac destdir="bin" srcdir="." includes="**/*.java">
</javac>
</target>
</project>
使用简单的.java引用自定义注释。但是没有提供源代码。
public class T {
@TestAnn
public void test() {
}
}
ant 命令的输出与您的第一个输出相同。我尝试执行 javac 命令来编译它,但是打印了error: cannot find symbol @TestAnn
。我不知道为什么信息不同。
然后我添加注释类并再次运行 ant 命令。构建成功没有警告。
对于您的问题,可能的原因是:
-processorpath
或-processor
选项,因此 javac 可以找到合适的处理器。