【问题标题】:Android javax.annotation.processing package missing. Can't use AbstractProcessorAndroid javax.annotation.processing 包丢失。无法使用抽象处理器
【发布时间】:2015-05-29 08:53:35
【问题描述】:

由于某种原因,javax.annotation.processing 包丢失。 我发现this stackoverflow post 关于同样的问题,但它给出了断开的链接作为答案。尝试了一些谷歌建议的东西,但没有结果。

【问题讨论】:

    标签: android android-studio annotations


    【解决方案1】:

    我假设您想在 Android Studio 中编写注解处理器,并且在这种情况下有一个非常常见的项目结构:Android 应用程序、带有 @interface 定义的 Java 库和带有 AbstractProcessor 子类的 Java 库。

    我遇到了同样的问题,但有一件事有所帮助:

    • 从项目布局中完全删除您的 Java 模块。
    • 确保只有您的代码存在,删除模块目录中的所有(或者可能只是 .iml 文件就足够了?)其他内容。
    • 再次将您的源添加为模块Java Library。现在一切都应该正常了。

    我认为这是因为我首先将模块添加为 Android 库,然后手动将其更改为看起来像 Java 库(gradle java 插件的默认结构)。但是.iml 无论如何来自Android lib 模块结构。

    【讨论】:

    • 这对这个问题来说是完美的解决方案。 Java Library 可以使用javax,我按照这个解决方案,它的工作原理!
    【解决方案2】:

    上面的vganin给出了解决方案。 我的问题是我创建了一个 Android 库项目(错误地)而不是 Java 库项目。

    【讨论】:

      【解决方案3】:

      在我的例子中,我同时使用了 android library 插件和 base 插件:

      plugins {
          id 'com.android.library'
          id 'base'
      }
      

      这行得通:

      plugins {
          id 'com.android.library'
      }
      

      【讨论】:

        猜你喜欢
        • 2012-03-27
        • 2017-01-08
        • 2015-05-31
        • 2018-05-11
        • 1970-01-01
        • 2022-11-11
        • 1970-01-01
        • 2020-01-02
        • 2015-01-14
        相关资源
        最近更新 更多