繁体   English   中英

在Eclipse 4.6 Neon中使用注释处理器

[英]Working with annotation processors in Eclipse 4.6 Neon

我正在维护一个Java 7 Web项目,该项目使用多行注释来存储某些常量。

我可以在使用Mars时配置Eclipse,所以我可以在部署该应用程序的情况下启动Tomcat,它就像魅力一样......

直到我升级! 现在,尽管配置完成,仍未完成注释处理。

我发现这个问题是由Eclipse 4.6的一个特性引起的,如此处所述

批处理编译器和IDE中支持Java 6批注处理器。 按照设计,Java 6处理器仅在构建期间执行,而不是在编辑时执行。 (bug 188558)

简而言之,链接的错误说明注释处理已经从Eclipse的渐进式编译中删除(可能是Build automatically ???),这是出于正当理由。 事实上,当我使用Ant在CI服务器中编译项目时,注释会照常处理。

但我不能再在Eclipse中运行我的项目了。 它完全取决于Multiline注释的正确处理。

到目前为止,我已尝试禁用Build Automatically标志并手动构建项目。 没有结果

我还尝试Java Compiler -> Annotation processing -> Factory Path ,选择multiline-string jar,转到Advanced属性并取消选中Run this container's processors in batch mode ,尽管复选框是违反直觉的(我的意思是,它应该是名为“以增量模式运行”并默认未选中,根据上述错误)

该应用程序是一个Web应用程序,因此每次尝试将其部署到本地Tomcat。

你觉得我能做些什么?

一些建议:

  1. 您使用的多行注释仅支持Java版本1.6。 (例如, MultilineProcessor指定@SupportedSourceVersion(SourceVersion.RELEASE_6) ,推荐的pom设置指定1.6 sourcetarget 。)如果您的包正在构建, JDK合规性级别大于1.6,这可能就是注释的原因忽略。
  2. 您可以将多行字符串硬编码为字符串变量,而不是使用该注释。 它会降低您的代码的可读性,但构建速度会更快。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM