Подтвердить что ты не робот

Ошибка: не удалось найти или загрузить основной класс в 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");
   }
}

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

4b9b3361

Ответ 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

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

  1. Перейти к файлу | Структура проекта или нажмите Crtl + Shift + Alt + S
  2. Выберите Модули в разделе "Настройки проекта".
  3. На вкладке "Источники" нажмите "Источники" в строке "Пометить как:".
  4. Нажмите кнопку Применить.

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

Кто-то, кто лучше понимает, как 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

Следуй этим шагам

  1. Иди бегать
  2. Перейти к редактированию конфигурации
  3. Нажмите зеленый цвет + знак в левом верхнем углу
  4. Выберите тип, с которым вы работаете, например "Приложения"
  5. Теперь введите имя класса, который вы хотите запустить вместо неназванного
  6. Сделайте то же самое, где написано Main class, чуть ниже.

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