“Не удалось найти основной класс. Программа выйдет”

Исключение нулевого указателя - это индикатор того, что вы используете объект, не инициализируя его.

Например, ниже - класс ученика, который будет использовать его в нашем коде.

public class Student {

    private int id;

    public int getId() {
        return this.id;
    }

    public setId(int newId) {
        this.id = newId;
    }
}

Приведенный ниже код дает вам исключение с нулевым указателем.

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}

Поскольку вы используете Obj_Student, но вы забыли инициализировать его, как в правильном коде, показанном ниже:

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student = new Student();
            obj_Student.setId(12);
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}
18
задан Community 23 May 2017 в 12:19
поделиться

8 ответов

Java установлен на Вашем компьютере? Путь к его набору каталога bin правильно (другими словами, при вводе 'Java' из командной строки, Вы возвращаете список инструкций, или Вы добираетесь, что-то как "Java не распознано как.....")?

Вы могли попробовать попытку, работающую squirrel-sql.jar из командной строки (от белки sql каталог), с помощью:

java -jar squirrel-sql.jar
18
ответ дан 30 November 2019 в 07:29
поделиться
  1. переменная JAVA_HOME должна быть установлена, для указания на прогр файлы/Java/версию??? / мусорное ведро
  2. открывают файл squirrel-sql.bat с некоторым текстовым редактором и видят, совпадает ли переменная JAVA_HOME там с тем в Вашей переменной среды
  3. изменение это, если это не соответствует.... и, чем выполненный bat-файл снова
3
ответ дан 30 November 2019 в 07:29
поделиться

Путь к классу является путем, за которым система будет следовать при попытке найти классы, которые Вы пытаетесь выполнить. В пакетном файле Вы пытаетесь выполнить его, вероятно, имеет переменную как CLASSPATH=blah; вздор; и т.д. или Java управляет, чтобы взгляды, подобные

java -classpath "c:\directory\lib\squirrel-sql.jar" com.some.squirrel.package.file

, Если можно найти или добавить, что установка пути к классу, удостоверьтесь, что это включает путь к белке-sql.jar и любым другим файлам банки, что это может зависеть от разделенного точками с запятой (или корень / каталог lib, который может быть включен с установкой).

В основном просто необходимо сказать Java, где найти файлы класса, которые Вы пытаетесь выполнить. Википедия имеет более всестороннюю дискуссию о пути к классу и может предложить Вам больше понимания. http://en.wikipedia.org/wiki/Classpath_ (Java)

7
ответ дан 30 November 2019 в 07:29
поделиться

Имейте Вас, следовал этим инструкциям:

http://www.squirrelsql.org/#installation

Если так, Вы выполняете пакетный файл или сценарий оболочки для выполнения его?

2
ответ дан 30 November 2019 в 07:29
поделиться

Настройка ответа MB для Windows позволит избавиться от окна консоли:

start javaw -jar squirrel-sql.jar
2
ответ дан 30 November 2019 в 07:29
поделиться

Похоже, что .bat-файл не работает.

Просто дважды щелкните на:

squirrel-sql.jar

или введите:

java -jar squirrel-sql.jar

в командной строке.

1
ответ дан 30 November 2019 в 07:29
поделиться

Вы можете разместить .; в пути к классам в переменных среды, чтобы решить эту проблему.

1
ответ дан 30 November 2019 в 07:29
поделиться

Я попытался запустить SQUirrel 3.1, но получил сообщение «Не удалось найти основной класс Files \ Rational \ ClearQuest \ cqjni.jar». Я заметил, что C: \ Program Files \ Rational \ ClearQuest \ cqjni.jar находится в моем существующем пути к классам, как определено переменной среды Windows CLASSPATH.

SQUirrel не нужен мой существующий путь к классам, поэтому я обновил файл bat SQUirrel, squirrel-sql.bat.

REM SET SQUIRREL_CP =% TMP_CP%;% CLASSPATH%

SET SQUIRREL_CP =% TMP_CP%

Он больше не добавляет мой существующий путь к классам в свой путь к классам и работает нормально.

1
ответ дан 30 November 2019 в 07:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: