Типы ссылок по умолчанию равны null, чтобы указать, что они не ссылаются на какой-либо объект. Следовательно, если вы попытаетесь получить доступ к объекту, на который ссылаетесь, а его нет, вы получите исключение NullReferenceException.
Для Ex:
SqlConnection connection = null;
connection.Open();
Когда вы запускаете это кода, вы получите:
System.NullReferenceException: Object reference not set to an instance of an object.
Вы можете избежать этой ошибки, например, следующим образом:
if (connection != null){
connection.Open();
}
Примечание. Чтобы избежать этой ошибки, вы всегда должны инициализировать свои объекты прежде чем пытаться что-либо сделать с ними.
Чтобы уточнить, у вас есть JAVA_HOME, установленный как системная переменная или установленный в переменные пути класса Eclipse? Я уверен (но не совсем уверен!), Что системная переменная используется компилятором командной строки (и Ant), но Eclipse изменяет эту привязку к используемому JDK
В строке меню: Проект -> Свойства -> Компилятор Java
Включить специальные настройки проекта (отмечен) Снимите флажок «Использовать соответствие из среды исполнения» .... Выберите желаемый «уровень соответствия компилятора»
Это позволит вам скомпилировать код «1.5» с помощью JDK «1.6».
Если вы хотите использовать 1,5 JDK для создания «1,5-дюймового» кода, тогда установите подходящий 1,5 JDK и скажем затмение, где он установлен через:
Окно -> настройки -> Установленные JREs
Затем вернитесь к проекту
Project -> свойства -> Java Build Path -> libraries
удалить языковые версии 1.6 и: добавить библиотеку ... -> JRE System LIbrary -> Alternate JRE -> JRE, который вы хотите.
Убедитесь, что правильная JRE находится на пути построения проекта, сохраните все и наслаждайтесь!
Eclipse использует собственный внутренний компилятор, который может скомпилировать несколько версий Java.
Из справки Eclipse> Руководство по разработке Java> Понятия> Java Builder
Конструктор Java создает Java-программы, используя собственный компилятор (компилятор Eclipse для Java), который реализует спецификацию языка Java.
blockquote>Для Eclipse Mars.1 Release (4.5.1) это может указывать на 1.3 до 1.8 включительно.
Когда вы настраиваете проект:
[project-name] > Properties > Java Compiler > Compiler compliance level
Это настраивает компилятор Eclipse Java для компиляции кода в указанную версию Java, обычно 1.8 сегодня.
Переменные среды хоста, например JAVA_HOME и т. д., не используются.
Компилятор Oracle / Sun JDK не используется.
Во-первых, устанавливаете ли вы желаемую JRE или ваш желаемый JDK?
Даже если ваш Eclipse настроен правильно, может быть какая-то сумасшедшая настройка для проекта. Вы можете открыть контекстное меню по заданному Java-проекту в Project Explorer и выбрать «Свойства»> «Компилятор Java», чтобы проверить это.
Если ни одно из этого не помогает, оставьте комментарий, и я возьму другой взгляд .
Другой подход для установки компилятора JDK 1.8 с Maven использует этот плагин:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<verbose>true</verbose>
<fork>true</fork>
<executable>C:\Program Files\Java\jdk1.8.0_102\bin\javac</executable>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>