Java.lang.NullPointerException

1 resposta
E

Pessoal, estou dando uma manutencao no sistema, e esta dando o seguinte erro :

java.lang.NullPointerException

O erro esta na linha debaixo

return (T) JAXBContext.newInstance(c).createUnmarshaller().unmarshal(new FileInputStream(ServicoUtils.class.getClassLoader().getResource(d).getPath().replace("%20", " ")));

entao, nao tenho ctz, mas nao esta achando o xml ou a minha classe

alguem pode me dar uma luz ??

String url = "META-INF/configempresas.xml";
        try {
            for (Configempresa cx : ServicoUtils.leitorXmlArquivo(url, Configempresas.class).getConfigempresa()) {    
            System.out.print("teste");    
            }
        } catch (JAXBException ex) {
            Logger.getLogger(FiltroAutenticacao.class.getName()).log(Level.SEVERE, null, ex);
        } catch (FileNotFoundException ex) {
            Logger.getLogger(FiltroAutenticacao.class.getName()).log(Level.SEVERE, null, ex);
        }
 ********************************
 
 public class ServicoUtils {
 
     public static <T> T leitorXmlArquivo(String d, Class<T> c) throws JAXBException, FileNotFoundException {
         return (T) JAXBContext.newInstance(c).createUnmarshaller().unmarshal(new FileInputStream(ServicoUtils.class.getClassLoader().getResource(d).getPath().replace("%20", " ")));
    }

1 Resposta

maior_abandonado
evandro_araujo:

Pessoal, estou dando uma manutencao no sistema, e esta dando o seguinte erro :

java.lang.NullPointerException

O erro esta na linha debaixo
return (T) JAXBContext.newInstance(c).createUnmarshaller().unmarshal(new FileInputStream(ServicoUtils.class.getClassLoader().getResource(d).getPath().replace("%20", " ")));

entao, nao tenho ctz, mas nao esta achando o xml ou a minha classe

alguem pode me dar uma luz ??

String url = "META-INF/configempresas.xml";
        try {
            for (Configempresa cx : ServicoUtils.leitorXmlArquivo(url, Configempresas.class).getConfigempresa()) {    
            System.out.print("teste");    
            }
        } catch (JAXBException ex) {
            Logger.getLogger(FiltroAutenticacao.class.getName()).log(Level.SEVERE, null, ex);
        } catch (FileNotFoundException ex) {
            Logger.getLogger(FiltroAutenticacao.class.getName()).log(Level.SEVERE, null, ex);
        }
 ********************************
 
 public class ServicoUtils {
 
     public static <T> T leitorXmlArquivo(String d, Class<T> c) throws JAXBException, FileNotFoundException {
         return (T) JAXBContext.newInstance(c).createUnmarshaller().unmarshal(new FileInputStream(ServicoUtils.class.getClassLoader().getResource(d).getPath().replace("%20", " ")));
    }

coloca para logar antes desse return o resultado destas duas linhas abaixo:

LOG.info("primeiro:"+ServicoUtils.class.getClassLoader().getResource(d).getPath());
LOG.info("segundo:"+ServicoUtils.class.getClassLoader().getResource(d).getPath().replace("%20", " "));

ou se você não tiver log ai, mais facil:

System.out.println("primeiro:"+ServicoUtils.class.getClassLoader().getResource(d).getPath());
System.out.println("segundo:"+ServicoUtils.class.getClassLoader().getResource(d).getPath().replace("%20", " "));

veja o resultado do segundo, veja se existe um arquivo la, se é o seu xml... enfim

Criado 21 de janeiro de 2013
Ultima resposta 21 de jan. de 2013
Respostas 1
Participantes 2