Java IntelliJ can';在同一模块中使用时,无法找到生成的源
我使用的是的注释处理器。我用Java IntelliJ can';在同一模块中使用时,无法找到生成的源,java,maven,intellij-idea,autofactory,Java,Maven,Intellij Idea,Autofactory,我使用的是的注释处理器。我用@AutoFactory注释了SomeClass,并在同一模块中的其他地方引用了newsomeclassfactory().create() Maven配置: 我在Maven中添加了必要的依赖项: <dependency> <groupId>com.google.auto.factory</groupId> <artifactId>auto-factory</artifact
@AutoFactory
注释了SomeClass
,并在同一模块中的其他地方引用了newsomeclassfactory().create()
Maven配置:
我在Maven中添加了必要的依赖项:
<dependency>
<groupId>com.google.auto.factory</groupId>
<artifactId>auto-factory</artifactId>
<version>1.0-beta2</version>
<optional>true</optional>
</dependency>
com.google.auto.factory
我还执行了以下步骤:
- 已验证
生成的源文件
文件夹已作为源文件添加到项目结构中
- 已验证Maven preference
生成的源文件夹
是否设置为自动检测
- 已验证源文件是否在重建时实际生成(先删除
target
文件夹,以确保它是由IntelliJ生成的)
- 按照建议,尝试在项目结构中禁用
排除输出路径
- 使缓存无效并重新启动
- 删除
.idea
文件夹和.iml
文件
- 在
首选项->Maven
->导入
问题:
执行所有这些步骤后,生成的类不会显示在project explorer中。事实上,整个target
目录都看不到。编译失败,无法找到符号:SomeClassFactory
而newsomeclassfactory().create()
在编辑器中以红色标记,而Maven生成和编译时没有任何问题
我自己没有选择,任何帮助或建议都将非常欢迎
更新:当我对导致编译错误的代码进行注释时,IntelliJ会在编译消息中打印此警告:
警告:输出路径/Users/../target/generated sources/annotations与源根相交。只有由生成创建的文件才会被清理。
我从Jetbrains支持部门获得了帮助,问题是优先选择了排除的文件。有两个地方可以配置这些功能:
请检查Preferences>Build,Execution,Deployment>Compiler>Excludes
中是否未排除文件夹/文件,以及Preferences>Editor>文件类型->忽略的文件和文件夹中是否未列出中的文件/文件夹模式
在我的例子中,目标
包含在编辑器
文件类型
中被忽略的文件和文件夹列表中
然后还有一个编译问题,我通过扔掉IDEA项目文件并重新创建项目解决了这个问题。试试这个解决方案,它可能会解决您的问题。