我正在维护一个使用multiline annotation存储某些常量的Java 7 Web项目。
我可以在使用Mars时配置Eclipse,所以我可以在部署该应用程序的情况下启动Tomcat,它就像魅力一样......
直到我升级! 现在,尽管configuration已经完成了注释处理。
我发现此问题是由Eclipse 4.6的功能引起的,正如记录here
批处理编译器和IDE中支持Java 6批注处理器。按照设计,Java 6处理器仅在构建期间执行,而不是在编辑时执行。 (bug 188558)
简而言之,链接bug表示注释处理已从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
,尽管有复选框是违反直觉的(我的意思是,它应该被命名为#34;以增量模式运行"默认情况下未选中,根据上述错误)
该应用程序是一个Web应用程序,因此每次尝试将其部署到本地Tomcat。
您认为我能怎么做?
答案 0 :(得分:0)
一些建议:
MultilineProcessor
指定@SupportedSourceVersion(SourceVersion.RELEASE_6)
,推荐的pom设置指定source
的{{1}}和target
值。)如果您的包正在构建{ {3}}大于1.6,这可能是注释被忽略的原因。