0

Я хочу, чтобы получить значение свойства I добавляемые build.propertiesПроблема при получении значения из build.properties в ICEfaces

dergilik.host=http://172.171.1.155/ 

с кодом ниже

private final static String PROPERTIES_FILE = "build.properties"; 
private final static String HOST = "dergilik.host"; 
private final Properties props = new Properties(); 

private String getHost() { 
    try { 
     InputStream inp = new FileInputStream(PROPERTIES_FILE); 
     props.load(inp); 
     return props.getProperty(HOST); 
    } catch (Exception e) { 
     // TODO Auto-generated catch block 
     System.out.println(e.getMessage()); 
     e.printStackTrace(); 
     return null; 
    }   
} 

Но применение бросков FileNotFoundException, когда props.load(inp);. Я также пробовал его с классом ClassLoader и NullPointerException. Кроме того, я изменил PROPERTIES_FILE как «/ProjectName/build.properties», но это не сработало.

Так как я могу заставить программу правильно найти файл build.properties?

Благодаря

+0

возможно дубликат [файла свойств нагрузки в JAR?] (http://stackoverflow.com/questions/2815404/load-properties-file-in-jar) – sudocode

+0

Нет, потому что я сначала попробовал способ ClassLoader, но он не работал, как я сказал выше. –

ответ

1

Если вы хотите получить доступ в веб-приложения

  • и ресурс находится внутри веб-приложения и у вас есть доступ к ServletContext, вы должны использовать ServletContext.getResourceAsStream().
  • и ресурс вне веб-приложения, настроить путь с помощью context-param в web.xml и попытайтесь получить доступ с помощью ServletContext.getInitParameter()

Это если не веб-приложение и присутствует в использовании пути к классам,

  • Thread.currentThread().getContextClassloader().getResourceAsStream()
+0

Для инициализации объекта ServletContext мне нужно переопределить все методы внутри ServletContext. Обычно я не могу инициализировать его. –

+0

Если у вас есть веб-приложение с использованием Servlets, вы можете получить его. –

+0

Это сработало, проблема не была программной. Я создал файл server.properties в src и прочитал его с помощью ClassLoader. build.properties был удален из класса pathpath. Благодарю. –

Смежные вопросы