Ошибка: не удалось найти или загрузить основной класс в intelliJ IDE
Я новичок в Java и пытаюсь запустить мой код с помощью IntelliJ, который я только что установил как IDE с JDK 1.7. Следующий фрагмент кода не компилируется и продолжает давать мне ошибку:
Error: Could not find or load main class libTest
код
import java.lang.Integer;
import java.lang.String;
import java.lang.System;
import java.util.*;
class book {
private String name = "trial";
private int bookCode=1;
private int issued=0;
public void Issue(){
if(issued==0) {
issued=1;
System.out.println("You have succesfully issued the book");
}
else {
System.out.println("The book is already issued. Please contact the librarian for further details");
}
}
public int checkCode() {
return bookCode;
}
String readName() {
return name;
}
public void setName(String newName){
name=newName;
}
public void setBookCode(int newCode){
bookCode=newCode;
}
}
class library {
private ArrayList books=new ArrayList();
public void getList(){
for(int bk:books){
String bName=books(bk).readName();
System.out.println((bk+1)+") "+bName);
}
}
}
public class libTest{
public static void main(String[] args){
library newLib= new library();
System.out.println("code working");
}
}
Есть ли какие-либо изменения, которые я должен выполнить в настройках компилятора? Или это код.
Ответы
Ответ 1
Это может помочь:
1) Меню "Построить" → " Rebuild Project
". Иногда Intellij не переписывает классы, потому что они уже существуют, таким образом, вы просите Intellij переписать все.
2) Меню "Выполнить" → " Edit configuration
" → удалить профиль → добавить обратно профиль ("Приложение", если это приложение Java), выберите свой основной класс в раскрывающемся меню "Главный класс".
3) Меню "Построить" → " Rebuild Project
".
Ответ 2
Для меня решение заключалось в том, чтобы зафиксировать выходной каталог в настройках проекта. До того, как я использовал только "цель" для вывода компилятора проекта. Вместо этого я обновил его, чтобы иметь полный путь, например. D:\DEV\sigplusjava2_68\мишень
![введите описание изображения здесь]()
Ответ 3
Если ни один из вышеперечисленных ответов не сработал для вас, просто закройте свою IDE IntelliJ и удалите файл и папку intelliJ IDE из корня проекта:
rm -rf .idea *.iml
Затем откройте проект с intelliJ. Он должен работать сейчас.
Ответ 4
У меня была эта проблема, и я попробовал все под солнцем, что я мог придумать и на этом сайте.
Ни один из моих классов Java не был поднят после того, как я извлек из удаленной ветки. У всех классов были красные J по именам в иерархии проекта, а не синие C.
В конце я попытался следовать этому руководству, и несколько шагов попробовал что-то не описанное и устранил проблему: https://www.jetbrains.com/help/idea/creating-and-managing-modules.html
Вот что я сделал:
- Перейти к файлу | Структура проекта или нажмите Crtl + Shift + Alt + S
- Выберите Модули в разделе "Настройки проекта".
- На вкладке "Источники" нажмите "Источники" в строке "Пометить как:".
- Нажмите кнопку Применить.
По какой-то причине у всех моих классов были синие буквы "Си".
Кто-то, кто лучше понимает, как IntelliJ и/или IDE могут объяснить это явление, но все, что я знаю, теперь это то, что он может видеть все классы и, что более важно, основной и запускать.
Ответ 5
Явное создание out
папки и затем установить выходной путь к C:\Users\USERNAME\IdeaProjects\PROJECTNAME\out
![LIKE THIS]()
казалось, сработало для меня, когда только out
, и ожидать, что IntelliJ сделает папку, не будет.
Также попробуйте, чтобы IntelliJ создал новую конфигурацию запуска:
Найти предыдущий, нажав
![![Edit Configurations]()
затем удали его
![enter image description here]()
и ударил в порядке.
Теперь (ВАЖНО ШАГ) откройте класс, содержащий ваш метод main. Это, вероятно, проще всего сделать, нажав на имя класса в левой части панели проекта.
Дайте Alt + Shift + F10, и вы должны получить
![THIS]()
Теперь нажмите Enter !!
Tadah?? (Это сработало?)
Ответ 6
Проверьте модуль класса. Я столкнулся с этой проблемой с помощью intellij:
У меня многомодовый проект maven, проблема в том, что я запускаю класс, который не существует в модуле в конфигурации, поэтому моя проблема исправлена установкой правильного модуля ( "edit configuration" → "use class module" )
может это помочь вам
Ответ 7
Сделайте недействительным кеш и перезапустите ваш intellij, он работал для меня. ![Go to File as show in the attached picture]()
Ответ 8
Я знаю, что это было задано некоторое время назад, но я просто спотыкался об этом и думал, что мои результаты могут помочь другим. Как указывалось, сообщение об ошибке в основном является результатом внешней папки. Это потому, что, когда вы пытаетесь запустить программу, она сначала компилирует код и помещает скомпилированный результат в исходное местоположение, а затем пытается загрузить скомпилированный код из локации. Если скомпилированный код не находится в ожидаемом местоположении, вы получите сообщение об ошибке.
То, что мне особенно нравится, заключается в том, что несколько раз код не скомпилирован (построен), хотя ваша конфигурация запуска указывает "Build" в разделе "Перед запуском" на панели конфигурации.
Когда это может произойти?
Одна из ситуаций, которая может привести к этому, заключается в том, что вы используете модули и вручную удаляете каталог модуля. Например, если у меня есть модуль с именем "foo", должен быть каталог с именем foo under out/production. Если вы удалите его вручную, система сборки может не знать, что ее нужно перестроить.
Хуже того, если вы выберете Build | Создайте модуль "foo", он все равно не сможет перестроить модуль. В этом случае вы должны выбрать файл в модуле, например "bar.java", а затем выбрать "Сборка | Перекомпилируйте 'bar.java'. Теперь выйдите из директории out/production/foo.
Так как IntelliJ, как правило, знает о любых изменениях, это меня удивило, и мне потребовалось немного времени, чтобы понять, поэтому я решил поделиться с вами.
Ответ 9
Мне пришлось пометить папку "src" как "Источники". После перезапуска IntelliJ и перестройки проекта я мог запустить проект без дальнейших проблем (см. Скриншот). Редактировать: Вы можете перейти на вкладку "Структура проекта" через File-> Структура проекта или нажав Ctrl + Shift + Alt + S.
Ответ 10
У меня возникли такие проблемы, когда класс находится в папке по умолчанию, т.е. когда класс не объявляет пакет.
Поэтому я предполагаю, что использование инструкции пакета (например, package org.me.mypackage;
) поверх класса должно исправить ее.
Ответ 11
Откройте вкладку "Модули" (нажмите Ctrl + Shift + Alt + S). У меня было два модуля в рамках одного проекта. Я решил проблему после удаления второго избыточного модуля (см. Скриншот). ![enter image description here]()
Ответ 12
В моем случае проблема, казалось, была связана с обновлением IntelliJ. Когда я сделал это, я переписал файлы старого IntelliJ с файлами нового IntelliJ (сообщество от 2017 до 2018). После этого все мои проекты были разбиты. Я пробовал все в этой теме, и ни один из них не работал. Я попытался обновить Gradle до последней версии (от 4 до 4.8), и это не сработало. Единственное, что мне помогло, - это удалить всю папку IntelliJ и переустановить ее. Все мои проекты работали после этого.
Ответ 13
Мне не повезло, я пытался
- Удаление файла *.iml
- Переустановил IntelliJ IDEA2018.1.6
- Повторное добавление основного
- Недействительные классы и перезапущены
Ответ 14
Для меня - я попробовал несколько вариантов выше, не сработало. Затем я просто переименовал свой класс Application, и это, вероятно, заставило intelliJ создать новый jar, и сообщение об ошибке начало меняться. Затем я переименовал его обратно, и это сработало.
Ответ 15
Отметить каталог как исходный каталог. Открывается с помощью Ctrl + Shift + Alt + S
![enter image description here]()
Ответ 16
Разрабатываем решение Brad Turek... Один из шаблонов проектов IntelliJ Java по умолчанию ожидает файл Main, определяющий точку входа метода main и main(). Если метод содержится в другом файле (и классе), измените конфигурацию Запустить:
Запустить окно конфигурации
- Если проект открыт в IntelliJ, используйте команду Запустить: Изменить конфигурации...
чтобы открыть окно конфигурации сборки.
- Если запись для Основной класс не отображает имя вашего файла, содержащего класс, отображающий
main(), введите правильное имя файла. (Конфигурация изображения неправильная, поэтому она красная на панели конфигурации.)
- Метод my main() в классе (и файле) ScrabbleTest. Поэтому изменение основного класса: на ScrabbleTest исправляет ошибку времени выполнения.
Как отметили другие, вы должны ReBuild использовать новую конфигурацию. Я использую пакет, но это не похоже на IME. Надеюсь, это поможет.
Ответ 17
В моем случае в модуле build.gradle назначение mainClassName должно указывать полное имя класса, т.е. как указано в качестве имени пакета в файле исходного кода основного класса.
Ответ 18
Для меня проблема заключалась в особом символе в пути к файлу.
IntelliJ позволил мне открыть проект, однако, когда я собрал/запустил проект, он больше не мог найти класс, потому что он преобразовывал путь к файлу для удаления специального символа и, следовательно, искал не в том каталоге.
Чтобы решить эту проблему, я просто удалил специальный символ из имени папки, в которой был сохранен мой проект, и снова открыл проект в IntelliJ.
Ответ 19
Просто пересоберите проект (CTRL + F9) и дважды проверьте (Изменить конфигурации), если у вас есть правильно настроенный Основной класс и модуль (если есть)
Ответ 20
Я перепробовал все предложенные здесь хаки - безрезультатно. В конце я просто создал новое приложение Maven и вручную скопировал в него одно за другим файлы pom.xml и java файлы и ресурсы. Теперь все работает. Я новичок в IntelliJ и совершенно не впечатлен, но как легко привести его в нестабильное состояние.
Ответ 21
![enter image description here]()
modules.xml с неправильным содержимым, я не знаю, что важно с моей IDEA.
Ответ 22
Я унаследовал кучу файлов .JAVA из других источников и не мог понять, как заставить их работать в любой среде IDE. В конечном итоге мне пришлось перейти в командную строку, где находился файл Main.JAVA, и запустить javac Main.java
. Это создало кучу файлов .CLASS. Тогда IDE смогли понять, что делать.
Ответ 23
Я получил эту ошибку при использовании Scala/SBT. IntelliJ не смог найти основной класс, хотя все было настроено правильно. Мое решение: удалите папку <user>/.sbt/<version>/plugins/target
, затем перезапустите IntelliJ.
Ответ 24
Следуй этим шагам
- Иди бегать
- Перейти к редактированию конфигурации
- Нажмите зеленый цвет + знак в левом верхнем углу
- Выберите тип, с которым вы работаете, например "Приложения"
- Теперь введите имя класса, который вы хотите запустить вместо неназванного
- Сделайте то же самое, где написано Main class, чуть ниже.
Угу.... твой код будет работать :)