java – Ant警告:隐式编译的文件不受注释处理

前端之家收集整理的这篇文章主要介绍了java – Ant警告:隐式编译的文件不受注释处理前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在运行Ant构建脚本(Ant 1.8.2,@L_301_0@ 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

有人可以了解警告意味着什么,我该如何摆脱它?

解决方法

我创建了一个简单的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命令来编译它,但是错误:找不到符号@TestAnn被打印.我不知道为什么消息不同.

然后我添加注释类并再次运行ant命令.构建成功没有警告.

对于您的问题,可能的原因是:

> java代码引用自定义注释,但找不到注释类
>基于the ANNOTATION PROCESSING seciton of javac,如果注释需要处理器.但是他们的jar不包含服务提供者配置文件.您应该指定-processorpath或-processor选项,以便javac可以找到合适的处理器.

猜你在找的Java相关文章