Я делаю этот вызов статическому экземпляру синглтона из класса GameManager.java
.
HUD.getInstance().update(timeDelta);
HUD.java
содержит HUD
класс, а также два других связанных класса HUDTextElement
и HUDElement
. Все классы находятся в одном корневом пути ../src/org/mypackage
.
Однако при компиляции этого java-проекта в IntelliJ я не могу найти Symbol HUD в строке, в которой я HUD.getInstance()
звоню.
Тот же самый код отлично компилируется в eclipse, есть идеи, в чем проблема?
Ответы:
Выберите Build-> Rebuild Project решит эту проблему.
источник
У меня была та же проблема, и оказалось, что я никогда полностью не компилировал новый проект. Поэтому щелчок правой кнопкой мыши и выбор «Компилировать» (shift-cmd-F9 на Mac) исправили это. Кажется, что компиляция при сохранении не «видит» нескомпилированные файлы.
Пометка папки src как источника в моем случае не помогла.
источник
У меня была такая же проблема, и я исправил ее, щелкнув Файл> Недействительные кеши / перезапустить
источник
Скорее всего, это ваша папка ../src, не отмеченная как «исходная» в Intellij IDEA, поэтому она не знает, как искать там ваш класс. Вы можете щелкнуть правой кнопкой мыши папку в проводнике проекта и выбрать «пометить как исходную папку», чтобы исправить это.
источник
Я получал ту же ошибку «не могу найти символ», когда это сделал
Build -> Make Project
. Я исправил это, удалив/target
папку Maven , щелкнув правой кнопкой мыши модуль проекта и сделавMaven -> Reimport
, и сделавBuild -> Rebuild Project
. Это было на IntelliJ Idea 13.1.5.Оказывается, это
Maven -> Reimport
было ключевым моментом, поскольку проблема возникала несколько раз, прежде чем я, наконец, сделал это.источник
Спасибо за помощь, оказалось, что исправление заключалось в том, чтобы сначала скомпилировать HUD.java (щелкните правой кнопкой мыши файл -> Скомпилировать HUD.java). После компиляции java-файла остальная часть проекта может быть скомпилирована без каких-либо проблем.
Я действительно не знаю, почему это исправлено или почему IntelliJ не будет делать это автоматически, но корневая ошибка, похоже, связана с тем, что IntelliJ неправильно обрабатывает наличие нескольких классов в одном файле .java.
источник
mvn com.zenjava:javafx-maven-plugin:2.0:fix-classpath
. Он предназначен для перемещения javafx jar из каталога libs в каталог ext для текущего JDK. Я нашел это здесь .Мне пришлось щелкнуть проект правой кнопкой мыши и выбрать «Reimport» в подменю «Run Maven».
источник
Для меня - я пробовал эти шаги (Invalidate Cache & Restart, Maven Reimport)), но они не сработали. Так что я удалил
.idea
,.settings
и.project
папку и попробовал - он работал.источник
.idea
папки сделало это за меня.Я использую maven в своем проекте. По какой-то причине IntelliJ выдавал мне такие странные ошибки. Я запустил mvn clean и попробовал выполнить повторную синхронизацию, и эти ошибки исчезли.
источник
Это случилось со мной, когда я удалил папку, а затем скопировал ее обратно в проект.
Right-click project folder -> Rebuild
работал у меня.источник
Я столкнулся с той же проблемой, и в ответе есть много решений, попытка всех этих решений заняла у меня довольно много времени, поэтому здесь я хотел бы предложить методический подход, если вы получите эту ошибку.
Проверьте следующее, создайте / обновите, если чего-то не хватает
Если все в порядке, вы можете попробовать следующие решения в указанном порядке.
Перекомпилируйте файл / модуль
Если это не устранило проблему, попробуйте обновить зависимость maven и построить проект, используя
Maven -> Reimport
иBuild -> Rebuild Project
Пытаться
mvn clean install -DskipTests
Попробуйте сделать недействительным кеш IntelliJ и перезапустить IDE, используя
File > Invalidate caches/ restart
Удалите папку .idea и повторно импортируйте проект.
Благодарность и благодарность всем, кто ответил на этот вопрос, вы можете обратиться к их ответам для более подробного описания каждого пункта.
источник
Я знаю, что это старый вопрос, но, судя по моему недавнему опыту, это происходит из-за того, что ресурсы сборки либо удалены, либо Idea не может распознать их как источник.
Где бы ни возникла ошибка, укажите источники для папки / каталога, и эта ошибка должна быть устранена.
Иногда, даже когда мы назначаем источники для всей папки, отдельные классы все равно могут быть недоступны. Для начинающих пользователей простое решение - импортировать новую копию и создать приложение заново, чтобы все было в порядке.
После этого желательно выполнить чистую установку.
источник
перекомпиляция основного класса Application.java сделала это за меня, щелкните правой кнопкой мыши класс> Перекомпилировать
источник
Я знаю, что эта ветка устарела, но другим решением было запустить
$ mvn clean install -Dmaven.test.skip=true
А в IntelliJ выполните CMD + Shift + A (mac os) -> введите «Повторно импортировать все проекты Maven».
Если это не сработает, попробуйте принудительно повторно загрузить зависимости maven.
$ mvn clean -U install -Dmaven.test.skip=true
источник
mvn install
редактировать, IntelliJ не видел этих ссылок и не выполнял среду выполнения.Для меня это была проблема с Lombok, потому что он требует, чтобы была включена обработка аннотаций. Вы можете найти этот флажок на
Settings > Build > Compiler > Annotation Processors
источник
В моем случае проблема заключалась в использовании экспериментальной функции Lombok @UtilityClass в моем java-проекте в Intellij Idea, чтобы аннотировать методы класса как «статические». Когда я явно сделал каждый метод класса «статическим» вместо использования аннотации, все проблемы с компиляцией исчезли.
источник
Поскольку это первое попадание в Google при поиске ошибки «intelliJ не может найти символ», я также добавлю свое решение.
Проблема для меня заключалась в том, что мой проект возник из Eclipse, а некоторые файлы содержали зависимость от классов, которые были созданы в
src/generated-sources
спецификациями в pom.xml. По какой-то причине это не было выполнено должным образом, когда я впервые открыл проект, и восстановление / повторный импорт не помогло, поэтому файлы никогда не создавались.Решение заключалось в том, чтобы щелкнуть модуль правой кнопкой мыши и выбрать пункт
Maven -> Generate Sources and Update Folders
«Проблема решена, и я могу скомпилировать».источник
Убедитесь, что исходный файл java-класса, на который вы пытаетесь сослаться, имеет
.java
расширение. Так было.aj
в моем случае (при его создании я должен был нажать «Создать аспект» вместо «Создать класс»). IntelliJ показывает тот же значок для этого файла, что и для «обычного» класса, но компилятор не видит его при сборке.Изменение
.aj
к.java
фиксированному это в моем случае.источник
Иногда нужный вам класс находится в
test
исходном каталоге. Во всяком случае, со мной случилось ...источник
У меня была та же проблема, за исключением того, что я импортировал классы, зависимости которых каким-то образом не разрешались. Я обновил проекты maven, Rebuild Project. Это все еще не разрешилось. Похоже, IntelliJ что-то кешировал неправильно. Я перезапустил IntelliJ, и это устранило зависимости. Я думаю, это как-то очистило кеш.
источник
Если вы используете Lombok, убедитесь, что у вас включена обработка аннотаций.
источник
Я вижу много ответов, предлагающих сборку или повторную сборку, но на всякий случай, если это не решит вашу проблему, просто обратите внимание, что IDEA может обнаружить метод, но он не будет компилироваться, если у вас есть
new
предыдущий, поскольку он будет ожидая экземпляра.источник
В моем случае у меня возникла проблема с поиском класса из другого модуля. В
pom.xml
, у меня просто была эта зависимость с<scope>compile</scope>
указанным. Удаление этой строки помогло.источник
Я знаю, что это устарело, но для всех остальных убедитесь, что отсутствующий класс находится в том же пакете, что и класс, в котором вы получили ошибку / откуда вы его вызываете.
источник