【问题标题】:Annotation Processor compilation in IntelliJ IDEAIntelliJ IDEA 中的注释处理器编译
【发布时间】:2014-08-26 09:04:29
【问题描述】:

我正在使用最新版本的 IntelliJ IDEA (13.1.4),并且正在开发自己的自定义注释。

我的项目目前有两个模块

  • MyOwnCustomAnnotationProcessor(这里我有实际的处理器)
  • MyOwnCustomAnnotationProcessorTest(我基本上对几个类进行了注释,看看它是否都能正常生成)

我在 Eclipse 中工作,但我正在尝试迁移到 IntelliJ,因为我无法忍受 Eclipse。通过让 Ant 构建生成主项目的 .jar 文件并且测试类将使用这个 .jar 文件,我设法让它在 Eclipse 中工作。

但我无法让它在 IntelliJ 上运行。

Settings -> Compiler -> Annotation Processor我有一个新的profile,测试项目在这个profile里面,profile是这样的:

我还尝试将Processor Path 更改为输出文件夹(其中有类 n META-INF),但没有运气。 IDE 正在创建generated 文件夹,但没有找到任何处理器。

关于如何在此处继续的任何提示?

【问题讨论】:

    标签: java intellij-idea annotations


    【解决方案1】:

    如果有人感兴趣,我最终找到了方法:

    • Project Structure 菜单中将artifact 添加到主项目(注释处理器项目)。此工件使用注释处理器导出 .jar 文件。确保启用Build on Make,这样每次您向Rebuild Project 询问时都会生成一个新的.jar
    • Settings - > Compiler -> Annotation Processor启用注解处理,勾选Processor Path并把导出的.jar文件的路径放上。确保放置处理器。

    这应该就是全部了。 现在每次点击 rebuilt project 都会生成一个新的 jar,并且将使用该新 jar 重新生成第二个项目。

    【讨论】:

    • 您是否偶然发现了如何在 Intellij 中调试注释处理器。我已经设置了远程调试配置,并添加了编译器选项 -J-agentlib:jdwp=dt_transport=socket,server=y,suspend=y,address=5005 ,选择了 javac,但编译器不会挂起。我测试了其他编译​​器选项,它们通过了,也是无效的选项,它们确实会导致错误。例如,这种精确的方案在 NetBeans 中有效。
    • @iRasic 对不起,不。我只是在做一些调查并回放那些时间,但从未深入挖掘。
    • 非常感谢。你解决了我一个大问题。我希望我能请你喝咖啡。在伦敦附近?
    猜你喜欢
    • 1970-01-01
    • 2014-07-23
    • 1970-01-01
    • 2020-11-05
    • 2019-01-31
    • 2017-07-15
    • 2012-07-14
    • 2017-07-19
    相关资源
    最近更新 更多