2008-10-22 5 views
5

Czy Thread.getContextClassLoader() może być pusty? Jawadoc nie jest tak naprawdę jasny.
Czy biblioteka powinna wziąć pod uwagę tę sprawę?Thread.getContextClassLoader() == null?

Aktualizacja: powodem Poprosiłem że beansbinding.dev.java.net robi nie pracę w tym przypadku (i mój kod robi setContextClassLoader(null)

Odpowiedz

9

Java wątków utworzonych z kodu JNI w wątku non-java mają zerową ContextClassloader chyba że twórca wyraźnie odróżnia ją.

również w takim kontekście Thread.currentThread() zwraca wartość null.

+0

Można to naprawić, ustawiając 'ClassLoader cl = ClassLoader.getSystemClassLoader(); Thread.currentThread() .setContextClassLoader (cl); ' –

4

Tak należy, ktoś mógłby nazywa Thread.setContextClassLoader(null) i biblioteka IMO powinna być w stanie radzić sobie z że.

+0

To naprawdę paskudna rzecz. Nawet klas z zainstalowanych rozszerzeń nie można znaleźć za pomocą tego programu ładującego klasy kontekstu wątku. –

+0

Nie widzę powodu, dla którego byłoby to paskudne. –

Powiązane problemy