Ant - erro na hora do build

Oi pessoal, blz?

É 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?

Obrigada

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.

Oi pessoal, valeu pela ajuda.

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)"

Isso acontece porque ao usar a task war é preciso indicar explicitamente onde está o web.xml

Como a mensagem mesmo está dizendo, você devia usar atributo webxlm=""

Então, dentro da task war, eu indiquei o local… a task está dessa forma

  <war
    basedir="../"
    warfile="${tomcat.dir}/${project.name}.war" webxml="web.xml">
    <exclude name="${tomcat.dir}/${project.name}.war"/>
   </war>

Tem alguma coisa errada na sintaxe?

O web.xml está no diretório certo (base_dir) ?

Sim, está no base dir…

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

Eu ficaria com a segunda :wink:

Hmm, e como é q eu uso a task jar? Isso eu não tenho muita idéia não… hehe
Se vc puder me dar um exemplo, eu agradeço!

Valeu!

Esta task funciona igual a que você já está usando (war). Mesmo assim aqui vai o exemplo. Espero que isso ajude.

<jar jarfile="${tomcat.dir}/${project.name}.war" > <fileset dir="../"> <exclude name="${tomcat.dir}/${project.name}.war"/> </fileset> </war>

Ah, agora com o seu exemplo, deu certo… =)

Valeu pela ajuda, viu? :wink: