2016-03-26 39 views
0

Bir veritabanı için kimlik bilgilerini saklanan bir config.properties dosyası var, ancak onu okumaya çalıştığımda bir NullPointerException, Any Ideas aldım?config.properties NullPointerException

Klasör Yapısı:

com/mypackage/config

  • DbConnector.java
  • config.properties

DbConnection Sınıf

final String PROPERTIES_FILE = "com\\mypackage\\Config\\config.properties"; 
     InputStream inputStream = getClass().getResourceAsStream(PROPERTIES_FILE); 
     Properties dbProperties = new Properties(); 

     dbProperties.load(inputStream); //The run doesn't pass this point 

T İstisna

Exception in thread "main" java.lang.NullPointerException 
at java.util.Properties$LineReader.readLine(Properties.java:434) 
at java.util.Properties.load0(Properties.java:353) 
at java.util.Properties.load(Properties.java:341) 
at  com.cetys.cetyslibraryinventory.Config.DataBaseConnector.retrieveConnectionParameters(DataBaseConnector.java:68) 

Bu dosyanın bulunamadığı halde neden olduğunu biliyorum ama neden? Herhangi bir fikir?

Güncelleme

Ben yolunu etmek "src \ ana \ java \ com \ mypackage \ config \ config.properties" Orada olup çalıştığını, ama zor kodlu yaklaşımı bu tür sevmiyorum herhangi birini değiştirirseniz daha programlı yol?

cevap

0

config.properties dosya adına mutlak bir yol kullanmayı denediniz mi? Ayrıca DbConnection sınıfındaki aynı klasörde config.properties dosya? Bu durumda o zaman sadece final String PROPERTIES_FILE = "config.properties";

+0

Bunu denedim ama çalışmıyor. –

+0

Sadece mutlak yolun çalıştığı güncellendi! Bu, göreceli yolun yanlış olduğu anlamına gelir. "\" Kullanarak göreceli yoldan önce deneyin ve kontrol edin. –

0

Benim projet maven kullanıyordum yazmak, bu yüzden ana/kaynaklar klasörüne dosya taşımak ve

String PROPERTIES_FILE = "config.properties"; 
    InputStream inputStream = Thread.currentThread().getContextClassLoader() 
       .getResourceAsStream(PROPERTIES_FILE); 
    Properties dbProperties = new Properties(); 

    dbProperties.load(inputStream); 

olarak yolunu değiştirmek Ve her şey çalışıyor.

Teşekkürler