2013-11-13 2 views
5

Я использую IntelliJ IDEA 12 Ultimate для пробного периода и столкнулся с какой-то странной проблемой. При переходе через код для недавней работы обучающей, я имел скриншот ниже, после попытки скомпилировать класс:IntelliJ IDEA 12 не разрешает классы в одном пакете, работает в Eclipse

выхода

enter image description here

Ошибки после нажатия Ctrl-Shift-F9 для компиляции класса DrawCircleLab8. Как вы можете видеть, DrawingPanel действительно находится в пакете lab8 и ошибок нет до исключения времени компиляции.

Когда я импортировал ту же структуру проекта в Eclipse, я смог скомпилировать и запустить без проблем.

Изменение SDK с 1,7 до 1,6 не повлияло. Как я могу решить эту проблему для IntelliJ?

+0

Вы можете скомпилировать их через командную строку? – ApolloSoftware

+0

@AmitApollo, да, javac works, а также затмение. Шутник этой колоды - идея 12. – Jason

+0

У меня была аналогичная проблема с Android Studio (на основе intelliJ). Мне пришлось закончить использование eclipse, и печальная часть - это простой вездесущий класс почты, который я использовал, и это была ошибка Runtime, а не время компиляции, которое, как я думал, было странным. Я знаю, что с андроид-студией вы должны сделать чистую градулу, а затем соответствующим образом установите свои зависимости и библиотеки. Это определенно проблема с IDE, хотя! – ApolloSoftware

ответ

6
  1. Попробуйте удалить оператор импорта для этого класса, а затем добавьте его еще раз.

  2. Из скриншота я предполагаю, что src уже помечено как корень источника, но убедитесь, что вы можете сделать это еще раз:

    • правой кнопкой мыши src в дереве проекта
    • выберите Mark as... -> Source root
  3. Если вышеуказанное не будет работать, попробуйте сначала скомпилировать весь проект. Компиляция только одного класса может не работать, если раньше вы не компилировали остальную часть проекта.

+0

В этой конкретной лаборатории есть три частично реализованных лабораторных класса с одним классом полезности. Этот класс полезности используется двумя из трех лабораторных классов, поэтому компиляция всего проекта приведет к ошибкам. Вот почему я хотел скомпилировать каждый лабораторный класс. – Jason

+0

Вы не можете скомпилировать только некоторые классы. Вам нужно скомпилировать все классы, от которых зависит ваш код, если они еще не скомпилированы. –

+0

Видимо, эта разница с IDEA - это боль. Eclipse и Netbeans позволяют мне выбрать один класс для запуска, и это также приводит к компиляции всех необходимых зависимостей. Это отсутствие функциональности в IDEA - серьезный разрыв со стандартным соглашением о функциональности. – Jason

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