Ошибка компилятора - Ошибка: не удалось найти или загрузить основной класс com.sun.tools.javac.Main '
Я только начал изучать Java, и я установил JDK на свой компьютер, но теперь я пытаюсь использовать SIMPLIST Java и не компилирую. Я установил JDK на C:/Java/jdk7/
.
Всякий раз, когда я пытаюсь скомпилировать, я получаю сообщение об ошибке:
Error: Could not find or load main class com.sun.tools.javac.Main
Вот как я компилирую:
javac test.java
Я также пробовал:
javac.exe test.java
Я не знаю, был ли мой код неправильным или что-то еще, но вот мой test.java
:
class test {
public static void main(String args[]) {
System.out.println("Hello World!");
}
}
Вот JAVA_HOME:
C:\Java\jdk7\
Любая помощь будет оценена!
Ответы
Ответ 1
Возможно, вы сделали ручную установку JDK. Во всяком случае, эта ошибка почти наверняка объясняется недостатком вашей установки Java. Чтобы решить эту проблему, вы должны выполнить следующую команду в каталоге JAVA_HOME/lib:
unpack200 -r -v -l "" tools.pack tools.jar
Это распакует файл tools.jar, который ваша установка (ручная или нет) не сделана для вас. После этого попробуйте выполнить:
javac -version
Эта команда должна работать хорошо. Это похоже на ошибку, которую вы можете иметь с помощью команды Java, в основном по той же причине, ваша установка не распаковывала необходимые файлы. Вы можете ссылаться на эту ссылку: JRE 1.7 возвращает: java/lang/NoClassDefFoundError: java/lang/Object
У меня была эта проблема сама, и мое решение немного адаптировалось к этому другому ответу.
Ответ 2
Вы перезагрузились после установки? Существуют важные переменные среды (а именно CLASSPATH
), которые не установлены до перезагрузки Windows. В любом случае, вы можете обойти это, добавив rt.jar
и tools.jar
к вашему CLASSPATH
. Кроме того, вы должны убедиться, что ваш JAVA_HOME
установлен.
Ответ 3
Исходный код в порядке.
Средство регистрации ошибок не могло найти класс, включенный tools.jar. Tools.jar всегда включен JDK.
Итак, я предполагаю, что вы используете неправильный JDK. Итак, вы пытаетесь написать полный путь javac, который вы установили.
пример) "C:\Program Files\java\jdk1.7.0_25\bin\javac" test.java(windows)
Если он сработал, JDK в переменной пути неверен. Таким образом, вы добавляете путь к переменной "C:\Program Files\java\jdk1.7.0_25\bin \" (например) к переменной пути.
(См. http://www.computerhope.com/issues/ch000549.htm)
Если это не сработало, вы проверяете... \jdk1.7.0_25\lib\tools.jar. Если он не существует, это неправильно. Итак, вы пытаетесь установить.
Если он существует, ммм, я не знаю. Я рекомендую вам переустановить.
Ответ 4
Сначала убедитесь, что в вашем jdk\lib folder
есть инструмент .jar.
Если это так, выполните следующие действия:
Даже если вы не находитесь в каталоге jdk
, просто добавьте имя каталога вместо "."., Этот код вернет вам путь dos. Скопируйте вставить путь dos в JAVA_HOME
.
- Запустите вышеуказанный код еще раз, когда вы находитесь в
JAVA_HOME\lib
. Скопируйте пасту в переменную среды с именем CLASSPATH
. Просто добавьте "\tools.jar"
в конец.
Даже если это не поможет попробовать переустановить Java (или просто извлечь файл tools.jar для перекрестной проверки). Надеюсь, что это поможет.
Ответ 5
У меня много версий JDK
на моем ноутбуке, сегодня я столкнулся с этой проблемой: после того, как я переключился на JDK1.7
на свой JAVA_HOME
, я набрал javac
в cmd и получил эту ошибку. Наконец, я удалил JDK1.7
и переустановил его, и проблема исчезла.
Ответ 6
Я столкнулся с проблемой JDK1.7_67.
Я решил это, разделив установки JDK и JRE.
JDK установлен в D:\Java\jdk1.7_67 со своей собственной папкой jre/lib и JRE, установленной в D:\Java\jre1.7_67 со своей собственной папкой lib.
Это решило проблему tools.jar для меня.
Ответ 7
"javac.exe" отсутствует в вашей папке bin в jdk. Проверьте его, если его там нет, просто скопируйте файл "javac.exe" из папки java/jdk/bin любого из компьютеров вашего друга, которые также используют java. Надеюсь, это поможет вам. Спасибо вам