Uma outra possibilidade para ler arquivos .properties no JBoss AS 7 é utilizar módulos. Desta forma, será possível obter o arquivo .properties utilizando um simples Thread.currentThread().getContextClassLoader().getResource("...") ou getResourceAsStream("...").
Os passos estão abaixo:
1. Crie um módulo com a seguinte estrutura de diretórios:
{jboss.home}/modules/propriedades/conf/main
2. Crie o arquivo module.xml em {jboss.home}/modules/propriedades/conf/main com o seguinte conteúdo
<module xmlns="urn:jboss:module:1.1" name="propriedades.conf"> <resources> <resource-root path="arquivos"/> </resources> </module>
3. Crie o diretório arquivos na estrutura do módulo:
{jboss.home}/modules/propriedades/conf/main/arquivos
4. Adicionar o arquivo de propriedades na nova estrutura de diretórios, exemplo:
{jboss.home}/modules/propriedades/conf/main/arquivos/meuarquivo.properties
5. Adicionar o arquivo jboss-deployment-structure.xml no diretório WEB-INF da aplicação .war ([arquivo].war/WEB-INF/jboss-deployment-structure.xml) com o seguinte conteúdo:
<?xml version="1.0" encoding="UTF-8"?> <jboss-deployment-structure> <deployment> <dependencies> <module name="propriedades.conf" /> </dependencies> </deployment> </jboss-deployment-structure>
Note que propriedades.conf é o nome do módulo criado no passo 2.
Caso esteja utilizando um .ear, adicione o arquivo jboss-deployment-structure.xml no diretório META-INF
6. No código java, você poderá ler os atributos do arquivo .properties conforme abaixo:
Properties properties = new Properties(); properties.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("meuarquivo.properties")) properties.get("nome-da-propriedade")
Um comentário:
Para projetos de localização usando arquivos .properties, eu recomendo esta plataforma de tradução do softwares - https://poeditor.com
Postar um comentário