gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-10-30 20:54:28 24 4
gpt4 key购买 nike

我正在维护一个使用 multiline annotation 的 Java 7 网络项目存储某些常量。

当我使用 Mars 时,我可以很好地配置 Eclipse,所以我可以在部署了该应用程序的情况下启动 Tomcat,它的工作就像一个魅力...

直到我升级!现在尽管 configuration 没有注释处理完成.

我发现这个问题是由于 Eclipse 4.6 的一个特性引起的,如记录here

Java 6 annotation processors are supported in the batch compiler and in the IDE. By design, Java 6 processors are only executed during a build, not while editing. (bug 188558)

链接bug简而言之,出于合法原因,注释处理已从 Eclipse 的增量编译中删除(可能是自动构建???)。事实上,当我使用 Ant 在 CI 服务器中编译我的项目时,注释会像往常一样得到处理。

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

到目前为止,我已尝试禁用自动构建 标志并手动构建项目。 无结果

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

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

你认为我能做些什么?

最佳答案

一些建议:

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

关于java - 在 Eclipse 4.6 Neon 中使用注释处理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38505155/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com