Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException
вообще.
См. также: A хороший список лучших практик
Я бы добавил, очень важно, хорошо использовать модификатор final
. Использование "окончательной" модификатор, когда это применимо в Java
Сводка:
final
для обеспечения хорошей инициализации. @NotNull
и @Nullable
if("knownObject".equals(unknownObject)
valueOf()
поверх toString (). StringUtils
StringUtils.isEmpty(null)
. Избегайте развертывания Visual Studio и автоматизируйте как можно больше. Веб-Проекты Развертывания и NAnt могут быть Вашими друзьями!
Кратко, наша установка развертывания:
Мы используем RedGate SQL для сценариев различий между dev и живой базой данных.
Файл типа "build" NAnt, который называет MSBUILD для разрабатывания веб-проекта развертывания (.wdproj), архивирует получающееся скомпилированное веб-приложение (наряду со сценарием изменения SQL) и затем загружает zip-файл на сервер.
На стороне сервера существует другой файл типа "build" NAnt, который выводит приложение из эксплуатации, создает резервную копию базы данных, создает резервную копию веб-сайта. выполняет сценарий изменения SQL, разархивировал новую версию и приносит приложение онлайн.
Шаг 3 обычно выполняется "вручную" (каждый дважды щелкает), но иногда планируемый для поздно вечером. Вы могли сделать точно то же от CD-ROM или даже записать довольно небольшое приложение Windows Forms как обертку.
Довольно счастливый сообщить подробности сценария NAnt, если Вам интересно.
Вы попытались использовать веб-проект Развертывания? Существует поддержка VS 2008 также теперь..