Path para arquivo de propriedades

Boa tarde.

Tenho uma aplicação web que utiliza um arquivo .properties onde tenho as configurações de acesso a base de dados.
Hoje esse arquivo é consultado em um diretório dentro do USER_HOME da máquina.
O problema é que agora preciso colocar a aplicação para rodar em uma máquina em que eu não tenho permissão para acesso desse local.

Preciso deixar esse arquivo dentro do WAR e consultar ele de lá.

Hoje tenho as constantes configuradas dessa forma:
public static final String FILE_CONFIG = “configs.properties”;
public static final String FILE_SEPARATOR = (String) System.getProperties().get(“file.separator”);
public static final String USER_DIR = (String) System.getProperties().get(“user.home”);
public static final String APPLICATION_DIR = (String) System.getProperties().get(“user.dir”);
public static final String PASTA_APLICATIVO = “gesdef”;
public static final String COMPLETE_FILE_CONFIG = USER_DIR+FILE_SEPARATOR+PASTA_APLICATIVO+FILE_SEPARATOR+FILE_CONFIG;

Então o que preciso é fazer com que COMPLETE_FILE_CONFIG aponte para algum lugar dentro do meu WAR.

Poderiam me dar algum exemplo de como fazer isso?

Abraço.

Olá,

deixe o properties em um pacote de sua aplicação, e utilize um ResourceBundle:

http://java.sun.com/j2se/1.4.2/docs/api/java/util/ResourceBundle.html

Exemplo:


public class BusinessResourceBundleUtils {

	private static final String PATH_RESOURCES = "pacote.da.sua.aplicacao.i18n.messages"; // o nome do arquivo é messages.properties
	ResourceBundle bundle;
	private Locale locale;

	public BusinessResourceBundleUtils(Locale locale) {
		this.locale = locale;	
		bundle = ResourceBundle.getBundle(PATH_RESOURCES, this.locale);
		
	}
	
	public BusinessResourceBundleUtils() {
		bundle = ResourceBundle.getBundle(PATH_RESOURCES);
		
	}

	/**
	 * Método responsável por recuperar uma entrada de properties a partir
	 * de um ResourceBundle gerenciado pela classe.
	 * 
	 * @param key nome da chave que possui o valor a ser recuperado.
	 * @return
	 */
	public String getString(String key){
		return bundle.getString(key);
	}
	
}

[]'s