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

Ошибка "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

Кто-нибудь знает, что не так?

4b9b3361

Ответ 1

Возможно, структура вашего проекта была src/main/java/start.java, но когда вы добавили ее в IntelliJ, вы установили src в качестве исходной папки, поэтому IntelliJ поместил main.java в качестве пакета.

В настройках проекта (Ctrl + Shift + Alt + S) → Модули → вкладка "Источники" установите src/main/java в качестве папки источника. Затем в вашей простой программе измените пакет на что угодно (например, my.test). После этого, если IntelliJ сообщает о любой ошибке в соответствии с пакетом, быстрое исправление с помощью Alt + Enter должно помочь

Ответ 2

У меня была эта проблема, и я не мог решить ее ни с одним из этих решений. Однако я думаю, что проблема заключалась в том, что я использовал "open" для создания проекта из каталога с некоторыми java файлами. Вместо этого мне пришлось "создавать новый проект" с тем же каталогом, что и root.

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

Ответ 3

Как упоминалось ранее, вы должны проверить Файл → ProjectStructure → ProjectSettings → Модули → Источники - ваша папка должна быть помечена как "Источник". Также вы должны обновить ваши Run → EditConfigurations → Configuration → Main class, чтобы они соответствовали вашему пакету.

Ответ 4

В моем случае путь к проекту имел некоторые символы, такие как: \/

ex: C:\something\other: thing\aaa\project, и поэтому он не сработал. Перемещение проекта на путь, который не имеет этих символов, фиксирует ошибки.

Ответ 5

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

Ответ 6

Для меня в IntelliJ-Idea 2016 проблема заключалась в том, что в Project_structure/modules на вкладке "Путь" вы должны проверить "Наследовать путь компиляции проекта" , а не "Использовать выходной путь компиляции модуля"

Ответ 7

Я потерял эту проблему после недавней установки моей версии сообщества intellif.

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

Контекст: Я пытался перезапустить проекты Intellij, которые раньше выполнялись нормально. Это проекты, которые выполняются с помощью intellij CI и ANDY WHERE, расположенных на моем сервере freebox.

Я попробовал все предлагаемые здесь решения, но без результата. В конце концов я просто: Закройте проект. Завершение работы Intellij. скопируйте/вставьте весь проект с моего бесплатного сервера в мою системную папку. Запустите Intellij, откройте проект, который был ранее вставлен в мою системную папку. Перестройте проект в меню /Build/Re build. И окончательно Запустите мой проект. А также!!! DONE... Это работает!

Мое предложение: есть ли проблема с длиной пути или символами, содержащимися в этом пути к проекту. Действительно /run/user/ 1000/gvfs/smb-share: server = freebox, share = disque %20dur/blaBlaToMyFileProjectFolder Полное имя пути содержит 127 персонажей среди:, -_/% =

Это то, что tric?

Надеюсь, что это поможет. Извините за мой сломанный английский. Я француз;-) Оливер

Ответ 8

У меня тоже была такая же проблема, но я не мог найти решение в сети, поэтому попытался исправить себя, прочитав так много блогов, я понял концепцию: в моем случае все было хорошо, так как я загружал код из git, но мой Intellij из IDE не мог распознать maven зависимостей и именно поэтому intellij выдавал эту ошибку, мой pom.xml имел все зависимости, но intellij не мог распознать ее. Я перешел к окну maven справа в intellij и добавил путь к проекту, в котором я работал, после добавления его maven загрузил все зависимости, и мой код работал нормально. Так что в основном только три шага могут помочь вам решить его: 1. Откройте окно maven в интеллигенции. 2. Нажмите "+" и добавьте путь к файлу prjojects pom.xml. 3. Нажмите Enter. Теперь вы можете запустить свой проект. Удачного кодирования!

Ответ 9

Ваш пакет main.java, вы передаете аргумент com.intellij.rt.execution.application.AppMain java.start, и вы исключаете, что не можете найти java.start. И это правильно.

Попробуйте скомпилировать его, используя только консоль. Оставьте IDE для начала, инвестируйте время, чтобы понять компилятор не как работает IDE.