Ошибка: не удалось найти или загрузить основной класс в IntelliJ IDE

Я новичок в Java и пытаюсь запустить свой код, используя IntelliJ, который я только что установил в качестве своей IDE с JDK 1.7. Следующий фрагмент кода даже не компилируется и продолжает выдавать ошибку:

Error: Could not find or load main class libTest
Code
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");
   }
}

Есть ли какие-либо изменения, которые я должен сделать в настройках компилятора? Или это код.

 QuantumMechanic18 мая 2012 г., 16:07
Какое имя у исходного файла? ЭтоlibTest.java?
 Andrew Thompson18 мая 2012 г., 16:15
import java.lang... Это происходит автоматически для классов вlang пакет.
 Confused Mailman18 мая 2012 г., 16:16
попытался импортировать java.lang без разницы
 Confused Mailman18 мая 2012 г., 16:16
да. Это libTest.java
 mcfinnigan18 мая 2012 г., 16:16
Как уже упоминалось в QuantumMechanic, ваш основной класс должен находиться в файле с таким же именем. Таким образом, libTest должен находиться в файле Java с именем libTest.java, иначе компилятор java будет жаловаться. Кроме того, вы создали источник через IDEA, или вы создали новый проект IDEA поверх существующего источника?

Ответы на вопрос(21)

enter image description here

С ошибочным содержимым modules.xml я не знаю, что происходит с моей IDEA.

1) "Построить" меню - & gt; & Quot;Rebuild Project& Quot ;. Иногда Intellij не переписывает классы, потому что они уже существуют, таким образом, вы просите Intellij переписать все.

2) «Выполнить» меню - & gt; & Quot;Edit configuration& Quot; - & GT; удалить профиль - & gt; добавьте обратно профиль («Приложение», если это приложение Java), выберите свой основной класс из «Основного класса». выпадающее меню.

3) & Quot; Построить & Quot; меню - & gt; & Quot;Rebuild Project& Quot ;.

 12 сент. 2018 г., 17:19
"Build" menu -> "Rebuild Project - сделал работу! Спасибо
 14 мая 2018 г., 14:42
После одного дня усилий, наконец, этот ответ помог мне. Спасибо
 20 мар. 2018 г., 00:40
& Quot; Rebuild & Quot; работал на меня
 30 окт. 2017 г., 23:32
У меня был новый проект в IntelliJ, и он не запустился.Rebuild Project работал на меня!
 04 дек. 2017 г., 23:28
Второй вариант сработал для меня. Но удалите профиль конфигурации, а затем щелкните правой кнопкой мыши свой класс - & gt; бежать

азывать полное имя класса, т.е. как указано в качестве имени пакета в основном классе & apos; файл исходного кода.

out папку, а затем установить выходной путь кC:\Users\USERNAME\IdeaProjects\PROJECTNAME\out

LIKE THIS

казалось, работал на меня, когда простоoutи ожидать, что IntelliJ создаст папку, не будет.

Также попробуйте, чтобы IntelliJ создал новую конфигурацию запуска:

Найти предыдущий, нажав

![Edit Configurations

затем удали его

enter image description here

и ударил в порядке.

Now, (IMPORTANT STEP) open the class containing your main method. Это, вероятно, проще всего сделать, нажав на имя класса в левой части панели проекта.

Дайте "а"Alt + Shift + F10 и вы должны получить

THIS

Теперь ударилEnter!!

Tadah?? (Did it work?)

 05 сент. 2017 г., 09:58
Конфигурация запуска работает, особенно если вы переместилиmain() функция отclass Main в какой-то другой класс. В этом случае измените конфигурацию запуска, как показано выше, и измените значение «Главный класс». на имя вашего класса (полностью).

когда класс находится в папке по умолчанию, т.е. когда класс не объявляет пакет.

Таким образом, я предполагаю, используя выражение пакета (например.package org.me.mypackage;) в верхней части класса должно это исправить.

 Confused Mailman18 мая 2012 г., 17:16
не помогает: / .. IDE, кажется, не беспокоит какие-либо изменения, которые я делаю .. она выбрасывает вышеуказанную ошибку, расслабляется и расслабляется
 18 мая 2012 г., 16:50
Хорошо, оператор пакета должен совпадать с тем, куда IDE поместил файл. Если среда IDE не поместила файл в sourceBase /org/confused/mailman затем добавление этой строки пакета не поможет.
 Confused Mailman18 мая 2012 г., 16:44
мне повторить эту строку кода ?? .. как я могу изменить его в случае, если я должен ??
 18 мая 2012 г., 16:48
Просто используйте собственное имя пакета, например так:package org.confused.mailman;
 18 мая 2012 г., 16:52
Я предполагаю, что IDE поможет с этим и автоматически исправит это, если выбрано рекомендуемое исправление.

ift + Alt + S

enter image description here

Источники & quot ;. После перезапуска IntelliJ и перестройки проекта я мог запустить проект без дальнейших проблем (см.Скриншот). Edit: You can access the "Project Structure" tab via File->Project Structure or by pressing Ctrl+Shift+Alt+S.

 06 июл. 2018 г., 02:23
Если у вас (как и у меня) нет «источников» На вкладке, затем вы должны добавить новый модуль (нажмите зеленый +) и выберите вашу основную папку в качестве источника. Ничто не будет перезаписано, а папка src станет синей.

просто закройте вашу IDE intelliJ и удалите файл и папку IntelliJ IDE из корня проекта:

rm -rf .idea *.iml 

Затем откройте проект с IntelliJ. Это должно работать сейчас.

 17 апр. 2018 г., 02:12
Это сработало для меня, спасибо.
 04 июн. 2018 г., 05:34
Вы настоящий MVP. Спасибо!
 21 янв. 2019 г., 07:52
Это единственное решение, которое сработало. Спасибо!
 05 апр. 2018 г., 15:42
Это сработало для меня. Я также повторно импортировал свой проект в IntelliJ, но для «Групповых модулей» я использовал & quot; используя квалифицированные имена & quot; (вместо «использования явных групп модулей»).

До того, как я использовал просто "цель" для вывода компилятора проекта. Вместо этого я обновил его, чтобы иметь полный путь, например D: \ DEV \ sigplusjava2_68 \ мишень enter image description here

 31 янв. 2018 г., 08:19
это не помогло мне
 07 сент. 2018 г., 18:15
Вполне возможно, что мое решение на самом деле представляет собой тонкую вариацию ответа @ Ehsan ниже. Возможно, указав целевой каталог, он дает ему новое местоположение, в котором компилируются все объекты, по существу выполняющие ту же работу, что иRebuild Project делает.
 23 окт. 2018 г., 08:28
@UncleIroh Если он сделал ту же самую работу, перестроение + чтение конфигурации. исправил бы проблему изначально. Это не так, но ваше решение помогло.

нфигурации), если у вас есть правильно настроенный Основной класс и модуль (если есть)

Откройте вкладку «Модули» (нажмите Ctrl + Shift + Alt + S). У меня было два модуля в рамках одного проекта. Я решил проблему после удаления второго избыточного модуля (см. Скриншот).enter image description here

Go to run Go to edit configurations Click the green colored + sign in top left corner Select the type you are working, for instance "Applications" Now enter the name of the class which you want to run instead of unnamed Do the same where it is written Main class,just below it.

Угу .... твой код будет работать :)

тов Java IntelliJ ожидает файл с именем Main, определяющийclass Main а такжеmain() точка входа в метод. Если метод содержится в другом файле (и классе), изменитеRun конфигурация:

Окно настройки запуска

With the project open in IntelliJ, use the Run:Edit Configurations... menu to open the build configuration window. If the entry for Main class doesn't list the name of your file containing the class exposing the main() entry method, enter the correct file name. (The configuration in the image is wrong, which is why it's red in the configuration panel.) My main() entry method is in the class (and file) ScrabbleTest. So changing Main class: to ScrabbleTest fixes the runtime error.

Как уже отмечали другие, вы должныReBuild используя новую конфигурацию. Я использую пакет, но это, кажется, не имеет значения IME. Надеюсь это поможет.

и я попробовал все под солнцем, что я мог придумать и на этом сайте.

Ни один из моих классов Java не был поднят после того, как я извлек из удаленной ветви. У всех классов были красные J по именам в иерархии проекта, а не синие C.

В конце я попытался следовать этому руководству, и несколько шагов попробовал что-то не описанное и устранил проблему: https://www.jetbrains.com/help/idea/creating-and-managing-modules.html

Вот что я сделал:

Goto File | Project Structure, or press Crtl+Shift+Alt+S Select Modules under the Project Settings section. In the Sources tab click Sources on the 'Mark as:' line. Click the Apply button.

По какой-то причине у всех моих классов тогда были синие оценки.

Кто-то, кто лучше понимает, как IntelliJ и / или IDE могут объяснить это явление, но я знаю только то, что теперь он может видеть все классы и, что более важно, главный и запускаться.

 21 янв. 2019 г., 15:19
спасибо, это решило мою проблему
 12 нояб. 2018 г., 18:32
это как раз и является моей основной причиной.
 15 мар. 2019 г., 03:09
Спасибо, это сработало для меня, когда другие варианты не помогли.

IntelliJ позволил мне открыть проект, однако, когда я собрал / запустил проект, он больше не мог найти класс, потому что он преобразовывал путь к файлу для удаления специального символа и, следовательно, искал в неправильном каталоге.

Чтобы решить эту проблему, я просто удалил специальный символ из имени папки, в которой был сохранен мой проект, и снова открыл проект в IntelliJ.

 05 авг. 2018 г., 08:50
Просто из любопытства, что это за особый характер?
 05 авг. 2018 г., 05:22
Это не ответ на вопрос, это только один из многих условий, которые могут объяснить ошибку. Этот тип сообщения должен быть в комментарии, а не в ответе.
Решение Вопроса

не сработало. Затем я просто переименовал свой класс Application, и это, вероятно, заставило intelliJ создать свежий jar, и сообщение об ошибке начало меняться. Затем я переименовал его обратно, и это сработало.

он работал для меня. Go to File as show in the attached picture

что об этом спрашивали некоторое время назад, но я просто споткнулся о эту проблему и подумал, что мои выводы могут помочь другим. Как уже указывалось, сообщение об ошибке в основном является результатом папки out. Это потому, что когда вы пытаетесь запустить программу, она сначала компилирует код и помещает скомпилированный результат в исходящее местоположение, а затем пытается загрузить скомпилированный код из выходного местоположения. Если скомпилированный код не находится в ожидаемом месте, вы получите ошибку.

Я особенно хочу поделиться с вами тем, что иногда код не компилируется (не собирается), даже если в вашей конфигурации выполнения указано «Build». в разделе «Перед запуском» раздел панели конфигурации.

Когда это может произойти? Это может произойти в том случае, если вы используете модули и удаляете каталог out модуля вручную. Например, если у меня есть модуль с именем & quot; foo & quot ;, в каталоге out / production должен быть каталог с именем foo. Если вы удалите его вручную, система сборки может не знать, что его нужно восстановить.

Еще хуже, если вы выберете Build | Модуль сборки "foo", он все равно может не перестроить модуль. Если это так, вам следует выбрать файл в модуле, например, «bar.java». и затем выберите Build | Перекомпилировать "bar.java". Теперь выходной каталог out / production / foo должен быть восстановлен.

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

просто создал новое приложение Maven и вручную скопировал в него одно за другим файлы pom.xml и java-файлы и ресурсы. Теперь все работает. Я новичок в IntelliJ и совершенно не впечатлен, но как легко привести его в нестабильное состояние.

казалось, была связана с обновлением IntelliJ. Когда я сделал это, я переписал файлы старого IntelliJ с файлами нового IntelliJ (сообщество от 2017 до 2018). После этого все мои проекты были разбиты. Я пробовал все в этой теме, и ни один из них не работал. Я попытался обновить Gradle до последней версии (от 4 до 4,8), и это не сработало. Единственное, что мне помогло, - это удалить всю папку IntelliJ и переустановить ее. Все мои проекты работали после этого.

 18 авг. 2018 г., 15:31
Кажется, это действительно так. Я использую портативный intellij, поэтому я переименовал основную папку, как изidea\bin бытьidea_old\bin и переименовал папку настроек в%user%\username который.IntelliJIdea2018.2 быть.IntelliJIdea2018.2_old затем повторно извлеченный zip-файл intellij, чтобы начать использовать его в качестве новой новой переносимой версии (это версия 2018.2.1) с приложением Spring Boot из нескольких отдельных модулей (не связанных в одном родительском файле pom.xml), каждое из которых является приложением весенней загрузки со своим собственным pom.xml и вуаля !!! Все работает, целевая папка создана, компилируется перед запуском через панель весенней загрузки.

Check your class module У меня есть многомодульный проект Maven, проблема в том, что я запускаю класс, в котором не существует модуля в конфигурации, поэтому моя проблема решается путем установки правильного модуля ("изменить конфигурацию" - & gt; использовать класс из модуль & Quot;)

может ли это помочь вам

 20 февр. 2018 г., 01:59
Это сработало для меня. Спасибо!
 11 мар. 2018 г., 17:46
У меня тоже сработало. Спасибо! Возможно, что-то пошло не так при установке обновления IntelliJ или плагина Scala. После этого вы получите эту странную проблему. Очень раздражает и отнимает много времени. Надеюсь, JetBrains найдет решение.

Ваш ответ на вопрос