2013-03-12 2 views
6

У меня действительно странная проблема с intellij-idea. При запуске некоторой основной функции в моей программе java intellij создает каталог с именем out для хранения файлов классов вместе с несколькими другими вещами.Intellij рекурсивно вложенные выходные каталоги

каталог она создает, имеет следующую структуру

<PROJECT_ROOT>/out/production/<PROJECT_NAME>/ 

ничего странного там, ОДНАКО, когда я запускаю программу внутри IntelliJ снова, он создает НОВУЮ out каталог с той же структурой внутри каталога, так что в результате является следующим:

<PROJECT_ROOT>/out/production/<PROJECT_NAME>/out/production/<PROJECT_NAME>/ 

затем, если я запустил его снова, он гнездится ДРУГОЙ один!

<PROJECT_ROOT>/out/production/<PROJECT_NAME>/out/production/<PROJECT_NAME>/out/production/<PROJECT_NAME>/ 

и так далее ...

Это невероятно расстраивает поведение, мягко говоря. я думал, что это может быть моя среда (Windows), поэтому я установил проект в свой Linux-модуль и наблюдал такое же поведение. Я сделал клонирование этого проекта из git repo, но я не думаю, что это было бы причиной. Я заметил то же поведение в разных проектах, которые я тоже клонировал.

Следующий шаг - создать два совершенно разных проекта с нуля в каждой среде и посмотреть, могу ли я воспроизвести проблему таким образом. Я обновлю это сообщение с результатами, как только я попробую, что вместе с чем-нибудь еще я попробую, но я думал, что буду размещать здесь, пока я продолжаю снимать проблемы, если кто-то еще видел это поведение и знает решение.

Я сохраню это обновление, поскольку я иду. Любая «идея» (см. То, что я там делала;) или предложения приветствуются!

UPDATE создания привет мир прогу с нуля на коробке Linux не воспроизводят поведение.

UPDATE создание привет мир прога с нуля на поле Windows, не воспроизводит поведение.

ответ

7

Я смог воспроизвести это. Когда базовый модуль также является корнем src, IntelliJ будет вести себя таким образом. Если вы отменили базовый модуль как root src, а затем создайте каталог src для размещения исходных файлов, вы заметите, что при следующем компиляции структура всей структуры каталога будет удалена, а IntelliJ вернется к тому, чтобы вести себя разумно.

+0

В общем случае, если выходной каталог класса находится в каталоге, помеченном как src, test или resource, и не исключается, это произойдет. Предположительно, выходной каталог копируется в себя из-за рекурсивного определения, которое мы предоставили IDE, а затем при следующем компиляции как выходной каталог, так и его подкаталог копируются в выходной каталог. И так далее. – MilesHampson

+0

Я столкнулся с той же проблемой, однако из того, что сказано, что я не могу ее исправить ... Где я могу найти базовый модуль и как его развязать как root src? –

Смежные вопросы