我从Eclipse切换到IntelliJ以进行gradle项目。 项目结构如下所示:
root
├── generated_src [main] (generated sources root)
├── generated_testSrc [tests] (generated test sources root)
├── out
│ └── production
│ ├── classes
│ └── resources
└── src
└── main
└── java (sources root)
IntelliJ基于gradle配置创建了3个模块,如下所示:
my_project (containing everything, but nothing marked as Sources)
my_project_main (containing generated_src, marked as Sources)
my_project_test (containing generated_testSrc, marked as Tests)
Annotation处理器用于在generated_src文件夹中生成类,从而产生如下所示的类:
generated_src [main] (generated sources root)
└── path.to.entities
└── MyEntity_.java
out
└── production
└── classes
└── path.to.entities
└── MyEntity.java
使用通配符语法导入生成的类的所有用法。但似乎IntelliJ认为导入是从 out / production / classes 文件夹引用包,并且不会导入生成的类。它为我提供了导入它并生成:
的选项import path.to.entities.*;
import path.to.entities.MyEntity_; <--WARNING: not used, remove?
导入生成的类后,它会将导入显示为未使用,因为该包已使用通配符语法导入。如果我删除第二个导入,则会返回到未导入 MyEntity _ 的原始状态。
我试过了:
如何正确设置项目以便正确导入生成的类?
答案 0 :(得分:0)
我已通过更新注释处理器的以下设置来解决此问题