Alterar propertie dentro jar

5 respostas
S

Estou com um problema aqui, seguinte, tenho uma aplicação que se comunica via web service com meu servidor. Essa aplicação é a mesma para varios clientes diferentes, a unica coisa que difere entre elas são alguns parametros, que ficam setados no arquivo de propriedades. Este arquivo de propriedades está dentro do .jar. Queria gravar as propriedades do cliente sem ter que abrir o jar. Com um codigo de gravação de arquivo, que funciona com um arquivo fora do jar, nesse caso não funciona.
Alguem sabe algum jeito de gravar um properties dentro de um jar?
Obrigado.

5 Respostas

E

Você não pode fazer isso diretamente.
Em vez disso, crie um script que gere os jars - um para cada cliente, usando o arquivo de configuração adequado para cada um deles.

S

entanglement:
Você não pode fazer isso diretamente.
Em vez disso, crie um script que gere os jars - um para cada cliente, usando o arquivo de configuração adequado para cada um deles.

Fiz um script para criar o propertie correto para cada cliente, gerar o .jar e destribuir as copias já no servidor, mas não consigo gerar o jar no linux. Já instalei 2 pacotes do java no ubuntu e continua reclamando que não encontra o comando “jar”. Sugestões? Muito obrigado.

leoramos

Pode estar faltando configurar tuas variáveis de ambiente, pra poderes usar o comando jar.
Como você instalou teu JDK?

S

leoramos:
Pode estar faltando configurar tuas variáveis de ambiente, pra poderes usar o comando jar.
Como você instalou teu JDK?

Pelo apt-get, pensei que estivesse ok pq todos os outros comandos estão funcionais, javaw, java e javac. Vou checar as variaveis de ambiente. Obrigado.

S

Resolvi, fica para quem tiver um problema parecido assim, primeiro instalei o pacote fastjar no ubuntu. Depois criei um arquivo de propriedade para cada cliente. Criei um script para copiar o arquivo do cliente para a pasta padrão do arquivo de propriedades, depois gerar o jar com as propriedades alteradas, zipar o jar e a pasta lib (com o pacote lib do ubuntu) e copiar o arquivo zip para a pasta do cliente especifico. Esse script faz o processo para todos os clientes, assim fica dificil esquecer alguem no caso de uma troca de versão.
Para criar o jar usei esse comando, jar -cfvm MeuJar.jar MeuManifest.MF “todas as pastas com arquivos de classes”.
Obrigado pela ajuda.

Criado 12 de agosto de 2011
Ultima resposta 15 de ago. de 2011
Respostas 5
Participantes 3