Java 在Eclipse4.6中使用注释处理器
我正在维护一个用于存储某些常量的Java7Web项目 当我在使用Mars时,我可以很好地配置Eclipse,这样我就可以在部署了应用程序的情况下启动Tomcat,它就像一个魔咒一样工作 直到我升级! 现在,尽管存在注释,但不进行注释处理 我发现这个问题是由于Eclipse4.6的特性造成的,如文档所述 批处理编译器和IDE支持Java 6注释处理器。按照设计,Java6处理器只在构建期间执行,而不是在编辑期间执行。(bug 188558) 简而言之,链接中说,注释处理已经从Eclipse的增量编译(可能是Java 在Eclipse4.6中使用注释处理器,java,eclipse,annotations,Java,Eclipse,Annotations,我正在维护一个用于存储某些常量的Java7Web项目 当我在使用Mars时,我可以很好地配置Eclipse,这样我就可以在部署了应用程序的情况下启动Tomcat,它就像一个魔咒一样工作 直到我升级! 现在,尽管存在注释,但不进行注释处理 我发现这个问题是由于Eclipse4.6的特性造成的,如文档所述 批处理编译器和IDE支持Java 6注释处理器。按照设计,Java6处理器只在构建期间执行,而不是在编辑期间执行。(bug 188558) 简而言之,链接中说,注释处理已经从Eclipse的增量编
自动构建
?)中删除,原因是合法的。事实上,当我使用Ant在CI服务器上编译我的项目时,注释会像往常一样得到处理
但是我不能再在Eclipse中运行我的项目了。这完全取决于多行注释的正确处理
到目前为止,我已经尝试禁用自动构建
标志并手动构建项目无结果
我还尝试转到Java编译器->注释处理->工厂路径
,选择多行字符串
jar,转到高级
属性,取消选中以批处理模式运行此容器的处理器
,尽管该复选框违反直觉(我的意思是,它应该命名为“以增量模式运行”)根据上述错误,默认情况下未选中)
该应用程序是一个web应用程序,因此每次尝试都会将其部署到本地Tomcat
你认为我能做些什么?有几点建议:
multileProcessor
指定@SupportedSourceVersion(SourceVersion.RELEASE_6)
,建议的pom设置指定源和目标值的1.6
)如果您的包是使用大于1.6的值构建的,这可能就是注释被忽略的原因
转向eclipse论坛/社区?我认为这很特别,所以在这里得到一个好答案的机会不太大。最好和拥有该产品的人谈谈。这个问题有解决方案吗?你有解决问题的方案吗?我通过加载类路径资源杀死了注释处理工具,你是对的。我们选择不硬编码字符串(HTML模板)以解决可读性问题,但最终我决定从多行注释切换到使用类路径资源加载,从而将模板存储到格式化的可读文件中;如果没有,没问题。你应该提到@VolkerK:-)我没有打开赏金。用户沃克做到了。因此,如果你对答案发表评论,我会收到通知,但我只能授予你接受的标志,而不是赏金。虽然我已经解决了我的问题,但您的答案并没有为我的问题提供真正的
答案,因此我目前并不急于接受;-)没有冒犯啊。我没有想到要检查是否有其他人设定了赏金。似乎设置悬赏的人也应该自动得到通知,因为这个人有点“接受”这个问题,并且真的,真的想知道答案。