Исключение нулевого указателя - это индикатор того, что вы используете объект, не инициализируя его.
Например, ниже - класс ученика, который будет использовать его в нашем коде.
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 ");
}
}
}
Это - известная проблема.
обертка Tomcat для сервиса окон компилируется для JDK на 32 бита.
Шаги, которые должны позволить Вам устанавливать Tomcat как сервису окон под JDK64bits.
двоичная установка Tomcat Загрузки (zip-файл; EXE-файл не найдет JDK/JRE на 64 бита).
файлы Извлечения из архива.
Переименовывают tomcat5.exe (tomcat6.exe) к tomcat5.exe.32bits к (tomcat6.exe.32bits)
обертка Tomcat Извлечения 64 битов из tomcat5_5_64bits_wrapper.zip и переименовывают его к tomcat5.exe (tomcat6.exe). См. , детали здесь . (Обновление: сообщение Bugzilla, кажется, снижается, но я полагаю, что обновленный EXE-файл может быть найден в репозиторий SVN Tomcat ).
Установка это как служба Windows, выполняющая "установку service.bat [имя экземпляра Tomcat]", где [имя экземпляра Tomcat] является дополнительным сервисным названием окон.
Под котом определенных условий не, правильно настраивают значения реестра сервисов. Это указывает на себя версии на 32 бита JRE/JDK вместо 64 битов. Это может быть сделано явно (путь к несправедливости JDK/JRE) или неявно ("автоматическое" значение, которые подразумевают использование JAVA_HOME или JRE_HOME, которые указывают на версию на 32 бита). Так или иначе это высоко повторно прокомментировало значение реестра проверки, которые определяют, какая версия JDK/JRE будет использоваться для сервиса окон кота, посмотрите ключевую HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0 [имя экземпляра Tomcat] \Parameters\Log\jvm и укажите на это для исправления JDK/JRE на 64 бита (например, jvm=C:\Program Files\Java\jdk1.5.0_15\jre\bin\server\jvm.dll).
Я боролся с этим. Я пытался установить Tomcat 6 в системе Windox XP x64, работающей на виртуальном Intel Xeon CPU (X5460). Я использовал комментарий FoxyBOA в качестве руководства, но предложите следующее:
После этого, все работало: Я смог запустить Tomcat с его менеджером по сервису и с Консолью управления службой Windows.
В то время, когда я сделал это, я использовал Tomcat 6.0.18 и Обновление Sun Java 6 12 (64-разрядный).
Просто измените шаг 6, таким образом, Вы помещаете его в Java вместо, входят в систему, значение реестра
Самый быстрый и простой способ запустить Tomcat в 64-битной среде Windows - это установить 32-битный JDK. Примечание: вы можете установить JDK 32Bit после того, как будет установлен JDK 64Bit, никаких проблем не возникнет, и de JDK будет обновлен.
Согласно журналу изменений , начиная с версии 6.0.21, 64-битные компоненты упакованы в собственный установщик:
Включать 64-битную служебную оболочку Windows в дистрибутивы. Обновите установщик Windows, чтобы автоматически использовать правильный двоичный файл на 64-битных машинах. (markt)
Дальнейшая настройка не требуется.
Просто хотел, чтобы люди знали, что при использовании 64-битного tomcat 6 реестр, который нужно посмотреть, будет
HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Apache Software Foundation \ Procrun 2.0 \
Обратите внимание на дополнительный \ Wow6432Node \
Спасибо за вашу помощь!