Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 编译时创建的类在IntelliJ中显示为不存在_Java_Intellij Idea_Annotations_Annotation Processing - Fatal编程技术网

Java 编译时创建的类在IntelliJ中显示为不存在

Java 编译时创建的类在IntelliJ中显示为不存在,java,intellij-idea,annotations,annotation-processing,Java,Intellij Idea,Annotations,Annotation Processing,动机: 我想试试编译时注释处理是否适合我的问题。它需要开箱即用,没有编译器参数等 当前状态: 我有: 注释 注释处理器 一个包含这两者的.jar和一个javax.annotation.processing.Processor文件,其中包含META-INF/services中我的处理器的 应该发生什么: 它应该自动检测处理器 它应该处理注释并创建一个新类WiredAnnotated 我应该能够在编译的一个步骤而不是多个阶段中使用这个类 我不希望编辑器接受生成的此类,例如,管理此类 实际发生的情况:

动机:

我想试试编译时注释处理是否适合我的问题。它需要开箱即用,没有编译器参数等

当前状态:

我有:

注释 注释处理器 一个包含这两者的.jar和一个javax.annotation.processing.Processor文件,其中包含META-INF/services中我的处理器的 应该发生什么:

它应该自动检测处理器 它应该处理注释并创建一个新类WiredAnnotated 我应该能够在编译的一个步骤而不是多个阶段中使用这个类 我不希望编辑器接受生成的此类,例如,管理此类 实际发生的情况:

它自动检测处理器 它在out/production/*/generated中创建一个新类/ 我能使用这门课 源代码看起来不错 反编译时看起来也不错 编辑器无法解析该类,请参见屏幕截图 我尝试的是:

重新启动IntelliJ 使缓存失效 正在检查批注处理器的输出 截图:

在编译时,它实际上按预期工作。我想这与检查错误的目录有关

有人知道我做错了什么吗?我是否错过了可以帮助我的信息

提前感谢,直到

好吧,您需要将/production/*/generated/添加到项目源文件夹。因此,IntelliJ将了解您生成的类

您可以通过右键单击目录>将目录标记为源根目录来创建它

项目结构F4>模块>源选项卡>源文件夹应包含包含源代码的所有目录,生成一个目录


在android中,根文件夹中有一个gen dir,但请注意,它会发出蓝色或绿色的光,这意味着它被标记为源文件夹,在Project structure>Modules中也可见。它包含R、BuildConfig和Manifest。

@vikingsteve:编辑了这个问题,请再看一看。谢谢,问题现在很清楚,但它远远超出了我的工资等级:当然,我试过了,但我还需要取消选中其他选项,以取消包含生成输出文件夹。但重要的是:它是有效的!