IntelliJ не может найти сгенерированные источники при использовании в том же модуле
Я использую аннотации процессоровАвтозавод Google, Я аннотировалSomeClass
с@AutoFactory
и ссылкаnew SomeClassFactory().create()
где-то еще в том же модуле.
Я добавил необходимую зависимость в Maven:
<dependency>
<groupId>com.google.auto.factory</groupId>
<artifactId>auto-factory</artifactId>
<version>1.0-beta2</version>
<optional>true</optional>
</dependency>
При беге$ mvn clean compile
я вижу этоtarget/generated-sources/annotions/somepackage/SomeClassFactory
создан и модуль компилируется без ошибок.
Reimport all maven modules
Preferences
->Annotation Processors
->Enable annotation processing
Rebuild Project
Этого должно быть достаточно в моей версии IDEA (v14.1.4
) если мое понимание верно.
Я также выполнил следующие шаги:
Проверено, чтоgenerated-sources
папка добавлена в качестве источника вProject Structure
Проверено, что предпочтение MavenGenerated sources folders
установлен вDetect automatically
Проверено, что источник действительно генерируется после перестройки (удаленоtarget
сначала папку, чтобы убедиться, что она сгенерирована IntelliJ)Попробуй отключитьExclude output paths
в структуре проекта, как предложено@tilpnerНедействительные кэши и перезапускудалять.idea
папка и.iml
файлыЭксперимент с различными настройками дляPhase to be used for folders update
вPreferences
->Maven
->Importing
Проблема:После выполнения всех этих шагов сгенерированный класс не отображается в проводнике проекта. На самом деле, весьtarget
Каталога нигде не видно. Компиляция не удалась сcannot find symbol: SomeClassFactory
а такжеnew SomeClassFactory().create()
отмечен красным в редакторе, а Maven генерирует и компилирует без проблем.
У меня нет выбора, и любая помощь или предложения будут очень кстати!
Обновить: когда я комментирую код, который вызывает ошибку компиляции, IntelliJ печатает это предупреждение в сообщениях компиляции:Warning:Output path /Users/.../target/generated-sources/annotations intersects with a source root. Only files that were created by build will be cleaned.