"Не мог найти основной класс.Программа будет закрыта"
-
02-07-2019 - |
Вопрос
Я пытаюсь запустить SQuirreL SQL.
Я скачал и установил его, но при попытке запустить получаю следующее сообщение об ошибке:
Средство запуска виртуальной машины Java.
Не мог найти основной класс.
Программа будет закрыта.
Суть я понимаю, но не знаю, как это исправить.Любая помощь?
больше информации:
- У меня Windows XP pro.
- У меня установлена Java 1.6, и другие приложения работают нормально.
- Установка прошла нормально.
- Я считаю, что правильно выполнил инструкции по установке.
- Чтобы запустить его, я вызываю белка-sql.bat файл.
Обновлять
Этот вопрос: "Не мог найти основной класс:ХХ.Программа будет закрыта." дает некоторую информацию об этой ошибке с точки зрения разработчика Java.
Решение
Установлена ли Java на вашем компьютере?Правильно ли установлен путь к его каталогу bin (другими словами, если вы наберете «java» в командной строке, вы получите обратно список инструкций или что-то вроде «Java не распознается как .....» )?
Вы можете попробовать запустить squirrel-sql.jar
из командной строки (из каталога белки sql), используя:
java -jar squirrel-sql.jar
Другие советы
Путь к классам — это путь, по которому будет следовать система при попытке найти классы, которые вы пытаетесь запустить.В пакетном файле, который вы пытаетесь выполнить, вероятно, есть переменная типа CLASSPATH=blah;blah;etc или команда Java, похожая на
java -classpath "c:\directory\lib\squirrel-sql.jar" com.some.squirrel.package.file
Если вы можете найти или добавить этот параметр пути к классам, убедитесь, что он включает путь к squirrel-sql.jar и любым другим файлам jar, от которых он может зависеть, разделенные точкой с запятой (или корневой каталог /lib, который может быть включен в состав монтаж).
По сути, вам просто нужно указать Java, где найти файлы классов, которые вы пытаетесь выполнить.В Википедии есть более подробное обсуждение пути к классам, и она может дать вам больше информации. http://en.wikipedia.org/wiki/Classpath_(Java)
- Переменная JAVA_HOME должна указывать на файлы программы/java/version???/bin.
- откройте файл squirrel-sql.bat в каком-нибудь текстовом редакторе и посмотрите, совпадает ли там переменная JAVA_HOME с той, что находится в вашей переменной среды.
- измените его, если он не совпадает.... а затем снова запустите bat-файл
Вы следовали этим инструкциям:
http://www.squirrelsql.org/#installation
Если да, то запускаете ли вы командный файл или сценарий оболочки для его запуска?
Настройка ответа MB для Windows позволит избавиться от окна консоли:
start javaw -jar squirrel-sql.jar
Файл .bat, похоже, не работает.
Просто дважды щелкните:
squirrel-sql.jar
или введите:
java -jar squirrel-sql.jar
в командной строке.
Вы можете разместить .;в пути к классам в переменных среды, чтобы решить эту проблему.
Я попытался запустить SQUirrel 3.1, но получил сообщение «Не удалось найти основной класс Files ational\ClearQuest\cqjni.jar». Я заметил, что C:\Program Files ational\ClearQuest\cqjni.jar находится в моем существующем пути к классам. как определено переменной среды Windows CLASSPATH.
SQUirrel не нужен мой существующий путь к классам, поэтому я обновил bat-файл SQUirrel, squirrel-sql.bat.
REM SET SQUIRREL_CP=%TMP_CP%;%CLASSPATH%
SET SQUIRREL_CP=%TMP_CP%
Он больше не добавляет мой существующий путь к классам к своему пути к классам и работает нормально.
У меня возникла эта проблема, когда я «обновился» до 64-разрядной версии Windows 7.Я предпочитаю Java JRE — это 64-битная JVM.На моей машине была установлена 32-битная JRE для браузера, поэтому я настроил системную переменную:
JRE32=C:\Program Files\Java\jre7
Когда я бегу:
"%JRE32\bin\java" -version
Я получил:
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) Client VM (build 24.51-b03, mixed mode, sharing)
Это 32-битная JVM.Там будет написано «Java HotSpot(TM) 64-битный" в противном случае.
Я отредактировал файл «squirrel-sql.bat», REMarking строку 4 и добавив строку 5 следующим образом:
(4) rem set "IZPACK_JAVA=%JAVA_HOME%"
(5) set IZPACK_JAVA=%JRE32%
И теперь все работает, отлично и отлично.