Ответ 1
У меня была аналогичная проблема с моей самой первой java-программой.
Я выдавал эту команду
java HelloWorld.class
Это привело к той же ошибке.
Оказывается, вам нужно исключить класс .class
java HelloWorld
У меня есть Windows 7, установленный jdk1.7.0 и поддерживающий jre7.
Моя проблема заключается в том, что часть компиляции отлично работает, но при запуске программы Java я получаю эту ошибку: "Не удалось найти или загрузить основной класс". Я сохраняю все свои программы в папке javalab. Я установил путь к нему. Процедура выглядит следующим образом:
C:\Users\user>cd\ C:\>cd javalab C:\javalab>autoexec.bat C:\javalab>set path=C:\Program Files\Java\jdk1.7.0\bin C:\javalab>javac p1.java C:\javalab>java p1 Error: Could not find or load main class p1 C:\javalab>
У меня была аналогичная проблема с моей самой первой java-программой.
Я выдавал эту команду
java HelloWorld.class
Это привело к той же ошибке.
Оказывается, вам нужно исключить класс .class
java HelloWorld
Try:
java -cp . p1
Это сработало для меня, когда у меня была такая же проблема, используя Fedora (linux)
Простой способ скомпилировать и выполнить java файл (HelloWorld.java не содержит никакого пакета)
set path="C:\Program Files (x86)\Java\jdk1.7.0_45\bin"
javac "HelloWorld.java"
java -cp . HelloWorld
pause
javac должен знать, где искать классы. Попробуйте следующее:
javac -cp . p1.java
Вам не нужно указывать путь к классам. Вы уверены, что файл p1.java существует?
У меня была почти такая же проблема, но со следующим изменением:
Это довольно странное поведение, я не могу это полностью понять. Надеюсь, это поможет кому-то. тоже.
Я предполагаю, что у вас есть другое имя класса в p1.java
Сначала проверьте имя класса. Это должно быть p1 в соответствии с инструкцией вашего командного файла. И затем проверьте пакет этого класса, если он находится внутри какого-либо пакета, укажите, когда вы запустите.
Если пакет x.y
java x.y.p1
Вот мои рабочие переменные пути env после многого устранения неполадок
CLASSPATH
; C:\Program Files (x86)\Java\jre7\lib\ext\QTJava.zip; C:\Program Files (x86)\Java\jdk1.6.0_27\bin
PATH < --- иногда этот PATH заполняет слишком много путей, и вы не можете добавить путь (который был моим случаем!)
bunchofpaths; C:\Program Files (x86)\Java\jdk1.6.0_27\bin
Кроме того, когда вы пытаетесь использовать cmd для выполнения файла... убедитесь, что ваш в локальном каталоге как файл, который вы пытаетесь выполнить (что вы сделали.)
Небольшой контрольный список для людей, у которых есть эта проблема.
У меня были подобные проблемы. Если вы работаете с Eclipse, вам нужно перейти в папку, в которой у вас есть src/folder... Если вы использовали пакет, то вы используете
javac -cp . packageName/className
что означает, что если у вас был пакет с именем def и основным классом с именем TextFrame.java, вы бы записали
javac -cp . def/TextFrame
опуская конечное расширение .java, а затем запустите его с помощью
java def/TextFrame
и если у вас есть аргументы, вам необходимо предоставить аргументы, соответствующие вашей программе. Надеюсь, это поможет.
Сначала поместите файл *.class
(например, Hello.class
) в 1 папку (например, C:\java
). Затем вы попробуете команду и введите cd /d C:\java
. Теперь вы можете ввести "java Hello"!
У вас может быть добавлена переменная среды CLASSPATH!
Используйте следующее, чтобы избежать дальнейшего использования -cp .
в java -cp . CLASSFILE
Добавить. для CLASSPATH в свойствах системы → переменных окружения или cmd
set CLASSPATH=%CLASSPATH%;.;
Я столкнулся с аналогичной проблемой в Eclipse. Всякий раз, когда я нажимал кнопку "Выполнить", он дал мне сообщение "Ошибка: не удалось найти или загрузить основной класс". Но когда я нажимаю правой кнопкой мыши на java файл в проводнике проекта и в настройке Run As Java, он отлично работает.
Я думаю, это потому, что он пытается по умолчанию запускать его в другой конфигурации, которая вызывает проблемы.
Надеюсь, что этот ответ поможет некоторым.
Если у вас есть один файл .java для компиляции с использованием командной строки, удалите верхние части пакета из кода, скомпилировать снова, он будет работать.
Это сработало для меня.
Иногда то, что может вызвать проблему, не имеет ничего общего с основным классом. Мне пришлось найти это с трудом, это была ссылка на библиотеку, которую я переехал, и это дало мне:
Не удалось найти или загрузить основной класс xxx Linux
Я просто удаляю эту ссылку и добавляю ее снова, и она снова работает нормально.
Я имел
':'
в имени моего проекта, например, "HKUSTx: part-2" переименование его "HKUSTx-part-2" работало для меня
Вы можете использовать NetBeans IDE, которая доступна для загрузки и использования "Open Source". Вы даже можете сделать другой язык программирования в этой среде IDE. Последний из которых поддерживает HTML5. Это упрощает программирование. Если вы не знакомы с ним, выберите книгу, интегрированную с NetBeans, например Sams Teach Selfself Java за 24 часа