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.
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.
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:
generated-sources
folder is added as a source in Project Structure
Generated sources folders
is set to Detect automatically
target
folder first to be sure it's generated by IntelliJ)Exclude output paths
in Project Structure, as suggested by @tilpner
.idea
folder and .iml
filesPhase to be used for folders update
in Preferences
-> Maven
-> Importing
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.
You can just change the project structure to add that folder as a "source" directory. Project Structure → Modules → Click the generated-sources folder and make it a sources folder.
From the main menu, select File | Project Structure Ctrl+Alt+Shift+S and click Modules. Select the necessary module and open the Sources tab. next to Source Folders or Test Source Folders. Specify the package prefix and click OK.
Select the top-level directory in the Project tool window and press Alt+Insert or select New | Module from the context menu. The New Module wizard opens. From the list on the left, select a module type.
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:
Please check that folders/files are not excluded in
Preferences > Build, Execution, Deployment > Compiler > Excludes
and the file/folder pattern in not listed inPreferences > Editor > File Types -> Ignored files and folders
In my case target
was included in the ignored files and folders list in Editor
> File Types
.
Then there was still a compilation issue, which I solved by throwing away the IDEA project files and creating the project again.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With