Помилка "ClassNotFoundException" в IntelliJ IDEA

Я зробив цю просту програму:

package main.java;

public class start {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

І отримала цю помилку. Я не знаю, що відбувається,

"C:\Program Files\Java\jdk1.7.0_21\bin\java" -Didea.launcher.port=7532 "-Didea.launcher.bin.path=C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 12.1.4\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.7.0_21\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\jce.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\jfxrt.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\resources.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\rt.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\ext\zipfs.jar;C:\Users\Tim\IdeaProjects\Rust\out\production\Rust;C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 12.1.4\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain java.start
Exception in thread "main" java.lang.ClassNotFoundException: java.start
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:188)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:113)

Process finished with exit code 1

Хто-небудь знає, що не так?

32
Конфігурація вихідних коренів невірна, у вас є каталог main , встановлений як корінь джерела, але батько цього каталогу повинен використовуватися замість нього, або вам потрібно виправити виправлення пакета.
додано Автор CrazyCoder, джерело
main.java - досить непарне ім'я для пакета
додано Автор fvu, джерело
@AidanEdwards насправді я думаю, що це щось ви , а не звичайний користувач IntelliJ сам, але я не вірю, що респектабельний IDE автоматично завоює головне. ** java ** як ім'я пакунка . Викиньте цей проект і розпочинайте все, уважно звертаючи увагу на все, що ви вводите, це найкраща порада, яку я можу дати вам.
додано Автор fvu, джерело
classpath починається з проекту \ src \ main \ java. Отже, що будь-коли за цим приводом є фактичні пакети. Спробуйте видалити пакет, якщо ваш файл знаходиться під src \ java і запустіть
додано Автор Jaydeep Patel, джерело
@ CrazyCoder Як це зробити?
додано Автор Aidan Edwards, джерело
@fvu Це було згенеровано автоматично. Я маю щось відношення до того, що клас знаходиться в проекті \ src \ main \ java
додано Автор Aidan Edwards, джерело

8 Відповіді

Можливо, ваша структура проекту була src/main/java/start.java , але коли ви додали її до IntelliJ, ви встановили src /strong> як папку джерела, тому IntelliJ встановив main.java як пакет.

У Налаштування проекту ( Ctrl + Shift + Alt + S ) → Модулі → вкладка "Джерела" встановіть src/main/java як папку джерела . Потім у вашій простій програмі змініть пакет на що завгодно (наприклад, my.test ). Після цього, якщо IntelliJ повідомляє про помилку, що відповідає швидкому виправленню пакет , за допомогою Alt + Enter слід допомогти

35
додано
Прохолодний підказка Для IntelliJ IDEA 14 мені довелося видалити наступний рядок з файлу .iml.
додано Автор Murali Mohan, джерело
Або, іншими словами, @Murali, в одному діалоговому вікні вам також потрібно буде зняти позначку з будь-якої батьківської папки, наприклад src або src/main , які були раніше позначені як папка вихідного коду. В іншому випадку, здається, що файли складаються двічі, а помилки з'являються про декілька визначень.
додано Автор Stein, джерело

Я мав цю проблему і не зміг вирішити її за допомогою будь-якого з цих рішень. Однак я думаю, що проблема полягала в тому, що я використовував "відкритий" для створення проекту з каталогу з деякими файлами java. Замість цього мені довелося "створити новий проект" з тим же каталогом, що і root.

Переконайтеся, що ви видалите будь-які каталоги ".idea" та ".iml" при створенні нового проекту, оскільки в іншому випадку вони скаржаться на проект, який вже знаходиться в даному каталозі.

6
додано
Дуже дякую!
додано Автор Hendrikto, джерело
Я хочу зцілити вас !!
додано Автор Yitzchak, джерело

Як зазначалося раніше, слід перевірити Файл → ProjectStructure → ProjectSettings → Modules → Sources - ваша папка повинна бути позначена як «Source». Крім того, ви повинні оновити свій запуск → Редагування конфігурацій → Конфігурація → Основний клас, щоб відповідати вашому пакету

4
додано

Ваш пакет main.java , ви передаєте аргумент com.intellij.rt.execution.application.AppMain java.start , а ви видаєте, що не знайдено < код> java.start . І це правильно.

Спробуйте скомпілювати його, використовуючи лише консоль. Залиште IDE для початку, інвестіруйте час, щоб зрозуміти компілятор, не те, як працює IDE.

3
додано

У моєму випадку шлях до проекту мав такі символи, як: \ /

ex: C: \ something \ other: thing \ aaa \ project, і тому це не спрацювало. Переміщення проекту на шлях, який не має цих символів, виправляє помилки.

2
додано
dudeeeeee, ти чудово !!!
додано Автор Raj, джерело

For me, in IntelliJ-Idea 2016, the problem was that in Project_structure/modules, in the Path tab you have to check "Inherit project compile output path", rather than "Use module compile output path"

1
додано
Відповідь - тут
додано Автор Guillaume Lebreton, джерело
Якщо я використовую " Успадкувати ... ", то я отримую помилку при запуску, кажучи: "шлях виведення не вказано".
додано Автор Alec, джерело

Просто на майбутнє: у мене були унікодові символи в назві папки, як-от "Назва курсу"/Tehtävät/Project, і проблема була в "ä". Коли я змінив його на "a", програма почала працювати.

1
додано

Я вщухнув цю проблему після нещодавнього повторного встановлення мого видання спільноти intellif.

IntelliJ IDEA 2016.3.2 Build # IC-163.10154.41, побудований 21 грудня 2016 року JRE: 1.8.0_112-release-408-b6 amd64 JVM: OpenJDK 64-бітовий серверний VM від JetBrains s.r.o мій ноутбук, як N73SV з Ubuntu 16.04

Контекст: Я намагався перезапустити проекти Intellij, які раніше працювали нормально. Ці проекти виконуються за допомогою Intellijі CI, а також там, де розташовані на моєму сервері freebox.

Я спробував всі запропоновані тут рішення, але без результату. В кінці я просто: Закрити проект. Завершення Intellij. скопіюйте/вставте весь проект з мого сервера freebox в мою системну папку. Почніть запускати Intellij, відкрити проект, попередньо вставлений в мою системну папку. Перебудуйте проект у меню/Build/Re build. І остаточно запустіть свій проект. І !!! Зроблено ... Це працює!

Моя пропозиція полягає в наступному: чи є проблема з довжиною шляху або символами, які задовольняються цим шлях до проекту. Дійсно/запустити/user/1000/gvfs/smb-share: server = freebox, share = disque% 20dur/blaBlaToMyFileProjectFolder Повне ім'я шляху містить 127 символів серед:, -_ /% =

Це те, що трік?

Сподіваюся, це допоможе. Вибач за мою розбиту англійську мову. Я француз ;-) Олівер

0
додано
ІТ КПІ - Java
ІТ КПІ - Java
436 учасників