mam jakiś kod, który wywołuje ..getClass(). GetClassLoader() ma wartość null, dlaczego?
x = getClass().getClassLoader();
ta zwraca null chociaż.
Po uruchomieniu tego samego kodu, nie z Eclipse, ale z wiersza poleceń, zwraca program ładujący klasy.
mogę włamać kod, aby to zrobić ...
if (getClass().getClassLoader() == null)
{
x = ClassLoader.getSystemClassLoader().getSystemResourceAsStream(loadedPropFileName);
}
oba są kompilowane i uruchomić z tego samego JVM. (Jestem pewien na 99,99%).
Ktoś ma jakieś pomysły, dlaczego pierwszy zwróci wartość null dla programu ładującego klasy?
Edit:
Moje pytanie brzmi nie „Ktoś ma jakieś pomysły dlaczego ta sama klasa wróci NULL gdy uruchomiony poprzez Eclipse i ładowarki klasy kiedy załadowany z wiersza poleceń”
Dzięki za poradę, że program ładujący Bootstap musi ładować klasę w środowisku Eclipse. Nie mam pojęcia, dlaczego tak się dzieje.
To prawda, ale jeśli implementacja jest taka sama, dlaczego różne zachowanie w linii poleceń i Eclipse. Myślę, że właśnie o to OP naprawdę pyta ... –
Jeśli chce wiedzieć coś innego niż to, o co prosi, dlaczego nie pyta o to, co naprawdę chce wiedzieć? – Bombe