Ho un po 'di codice che chiama ..getClass(). GetClassLoader() è null, perché?
x = getClass().getClassLoader();
Questo restituisce nulla però.
Quando avvio lo stesso codice non da Eclipse, ma dalla riga di comando, restituisce un classloader.
posso hackerare il codice per fare questo ...
if (getClass().getClassLoader() == null)
{
x = ClassLoader.getSystemClassLoader().getSystemResourceAsStream(loadedPropFileName);
}
entrambi sono compilato ed eseguito con la stessa JVM. (Sono sicuro al 99,99%).
Qualcuno ha qualche idea del perché il primo restituirebbe null per il classloader?
Edit:
La mia domanda è fa "Qualcuno ha qualche idea per cui la stessa classe sarebbe restituire NULL quando viene avviato tramite Eclipse e un caricatore di classe quando caricata dalla riga di comando"
Grazie per il consiglio che il caricatore Bootstap deve caricare la classe in Eclipse. Non ho idea del perché questo accada però.
Vero, ma se l'implementazione è la stessa, perché il diverso comportamento in riga di comando ed Eclipse. Penso che questo sia ciò che l'OP sta davvero chiedendo ... –
Se vuole sapere qualcosa di diverso da quello che sta chiedendo, perché non chiede quello che vuole veramente sapere? – Bombe