É o seguinte… eu fiz um arquivo build.xml para um projeto, e também um arquivo build.properties, para definir os nomes do projeto.
Em vez de eu usar no build.xml a seguinte sintaxe:
Eu coloquei no arquivo properties a seguinte sintaxe:
project.distname=meuprojeto
Daí que no xml eu mando carregar com a seguinte sintaxe:
Mas na hora de building, parece q ele não pega o valor dessa propriedade.
Alguém pode dar uma idéia de como é um arquivo properties e como carregá-lo corretamente?
na verdade um properties é apenas um mapa de strings onde se tem chave=valor em cada linha. Para usar comentários acrescente um # antes do comentario. Para abrir o properties de dentro do código java é simples.
Properties prop = new Properties();
prop.load(new FileInputStream(new File("nomeDoProp")));
Depois disso, o objeto prop está carregado com as configurações do arquivo.
Enfim, voltando à 2ª parte do seu problema… eu só não sei como fazer isso com o ant diretamente pelo xml…
Aparentemente o seu XML está correto, mas pode ser que ele não esteja encontrando o arquivo build.properties mesmo. Se não me engano, neste caso ele não dá nenhuma mensagem de erro.
Verifique se o .xml e o .properties estão no mesmo diretório e se você está usando este diretório como base_dir. Talvez ajude.
Realmente não estava achando mesmo o arquivo properties, agora consigo fazer ele achar.
Só que surgiu uma mensagem de advertência… eu gostaria de saber se vocês têm alguma idéia do que signifique…
" Warning: selected war files include a WEB-INF/web.xml which will be ignored (please use webxml attribute to war task)"
Então o problema pode ser que ele esteja considerando 2 web.xml, um que você declara no webxml=“web.xml” e outro do diretório que você está usando como base para gerar o .war.
Creio que você tem 2 saídas:
*Retirar o web.xml do base_dir e colocá-lo à parte para então declará-lo no script do ant
*Utilizar a task jar ao invés da war . Esta não pede o atributo web.xml="…" e pode gerar o mesmo arquivo que você está querendo