У меня есть некоторый код, который вызывает ..getClass(). GetClassLoader() имеет значение null, почему?
x = getClass().getClassLoader();
Это возвращает нуль, хотя.
Когда я запускаю тот же код не из Eclipse, а в командной строке, он возвращает загрузчик классов.
Я могу взломать код, чтобы сделать это ...
if (getClass().getClassLoader() == null)
{
x = ClassLoader.getSystemClassLoader().getSystemResourceAsStream(loadedPropFileName);
}
как компилируются и работают с одной и той же виртуальной машины Java. (Я уверен, 99,99%).
У кого-нибудь есть идеи, почему первый возвращает null для загрузчика классов?
Edit:
Мой вопрос имеет «Кто-нибудь есть какие-либо идеи, почему же класс будет возвращать нуль при запуске через Eclipse, и загрузчика классов при загрузке из командной строки»
Спасибо за совет, что загрузчик Bootstap должен загружать класс в Eclipse. Я понятия не имею, почему это происходит.
Правда, но если реализация такая же, почему различное поведение в командной строке и Eclipse. Я думаю, что это то, что ОП действительно спрашивает ... –
Если он хочет знать что-то другое, чем то, о чем он просит, почему он не спрашивает, что он действительно хочет знать? – Bombe