I'm using annotation processors of Google's AutoFactory. I annotated SomeClass
with @AutoFactory
and referenced new SomeClassFactory().create()
somewhere else in that same module.
Maven configuration:
I added the necessary dependency in Maven:
<dependency>
<groupId>com.google.auto.factory</groupId>
<artifactId>auto-factory</artifactId>
<version>1.0-beta2</version>
<optional>true</optional>
</dependency>
When running $ mvn clean compile
I see that target/generated-sources/annotions/somepackage/SomeClassFactory
is created and the module compiles without errors.
IntelliJ configuration:
Reimport all maven modules
Preferences
->Annotation Processors
->Enable annotation processing
Rebuild Project
This should be enough in my version of IDEA (v14.1.4
) if my understanding is correct.
I also performed the following steps:
- Verified that
generated-sources
folder is added as a source inProject Structure
- Verified that Maven preference
Generated sources folders
is set toDetect automatically
- Verified that source is actually generated upon Rebuild (deleted
target
folder first to be sure it's generated by IntelliJ) - Try to disable
Exclude output paths
in Project Structure, as suggested by @tilpner - Invalidate caches and restart
- Delete
.idea
folder and.iml
files - Experiment with different settings for
Phase to be used for folders update
inPreferences
->Maven
->Importing
Problem:
After performing all these steps, the generated class doesn't show up in the project explorer. In fact, the entire target
directory is nowhere to be seen. Compilation fails with cannot find symbol: SomeClassFactory
and new SomeClassFactory().create()
is marked in red in the editor, while Maven generates and compiles without any problems.
I'm out of options myself and any help or suggestions would be very welcome!
Update: when I comment the code that causes the compilation error, IntelliJ prints this warning in the compilation messages: Warning:Output path /Users/.../target/generated-sources/annotations intersects with a source root. Only files that were created by build will be cleaned.
I got help from Jetbrains support and the problem turned out to be a preference for excluded files. There are two places where these are configured:
In my case
target
was included in the ignored files and folders list inEditor
>File Types
.Then there was still a compilation issue, which I solved by throwing away the IDEA project files and creating the project again.