Definido e acessando programticamente uma variável de ambiente
9 respostas
E
emersonan
Olá,
Para um framework que estou construindo, quero criar uma variável de ambiente para ele e acessa-la de forma programática. Como as variáveis J2EE_HOME, TOMCAT_HOME…
No meu caso seria JAMPDESKTOP_HOME. Alguêm já fez isso?
Qual a necessidade de ser uma variavel de ambiente?
T
thingol
System.getenv (“nome da variavel”)
E
emersonan
Respondendo a pergunta do Pedrosa:
O framework citado(JAmpDesktop) possui alguns arquivos xml para configuração - então o suário deverá informar aonde estão esses arquivos. Então, temos duas opções:
1-) Utilizar o CLASSPATH;
2-) Criar e utilizar uma variável de ambiente prórpia.
Achei a segunda opção mais interessante, porque normalmente o classpath já fica com um conteúdo extenso. E separar o conteúdo do JAmpDesktop em uma variável prórpia trará mais legibilidade.
O que vocês acham?
Att,
Emerson A. Noronha
E
emersonan
Respondendo a thingol:
Então, acho que não coloquei a questão de forma clara. Preciso definir uma variável de ambiente específica para o arcabouço(framework) no qual estou trabalhando - imagine esse framework como um “swing container”.
A variável irá se chamar JAMPDESKTOP_HOME e o seu conteúdo deverá estar disponível nas propriedades da classe java.lang.System. Para acessar o conteúdo do CLASSPATH (como disse nosso colega) usamos:
System.getProperty(“java.class.path”);
Eu quero acessar a variável JAMPDESKTOP_HOME da mesma forma: System.getProperty(“jampdesktop.path”);
A questão é: como fazer para que o conteúdo da variável JAMPDESKTOfique disponível no conjunto de propriedades da class java.lang.System com a chave jampdesktop.path
Muito obrigado pelas respostas… fico no aguardo para discutirmos mais…
Valeu,
Emerson Aguiar Noronha
T
thingol
Isso requer modificar seu script que inicia o seu sistema (por exemplo, run.bat, startup.sh etc.)
Se não me engano, o log4j tem um esquema parecido… tipo o esquema do log4j…
E
emersonan
Feito. Tive que fazer algumas brincadeiras com o classLoader do contexto de iniciação da aplicação. Agora, a configuração dos arquivos xml são encontradas no CLASSPATH ou na variável JAMPDESKTOP_HOME.
Valeu,
Emerson Aguiar Noronha
le-silva
emersonan,
Estou com um problema parecido com o seu. Só que no meu caso, a minha aplicação é um repositório de negócio, implementado com EJB, que está “deploiado” num application server ORACLE.
Por uma serie de fatores, preciso ter uma variável de ambiente pra informar algumas propriedades que podem ser alteradas sem a necessidade de redeploy.