Ant

15 respostas
jgbt

E ai blz!
Instalei o Ant e tentei fazer um pequeno teste mas ao iniciar a tarefa ele da um erro:

Buildfile: build.xml

BUILD FAILED
Error reading project file: Invalid byte 2 of 3-byte UTF-8 sequence.

Total time: 9 seconds

Não sei que erro pode ser esse.Tenho uma pasta testeant e dentro dela o build.xml e as pastas src, dist e build.
Meu build esta assim:

<project name="TesteAnt" default="dist" basedir=".">
	<!-- Define as propriedades-->
	<property name="src" value="src"/>
	<property name="build" value="build"/>
	<property name="dist" value="dist"/>
	
	<!-- Compila a aplicação-->
	<target name="compile">
		<javac srcdir="${src}" destdir="{build}"/>
	</target>
	
	<!-- Gera o arq JAR com a aplicação-->
	<target name="dist" depends="compile">
		<jar jarfile="${dist}/testeant.jar"
			basedir="${build}"
			<!-- Para tornar o JAR executavel-->
			<manifest>
				<attribute name= "Main-Class"
				value="TesteAnt"/>
			</manifest>
		</jar>
	</target>
</project>

O nome da minha classe é TesteAnt.
Alguem sabe o que pode ser???

[]'s

15 Respostas

marciolx

tire os acentos, exemplo: aplicacao ao invés de aplicação

e falta fechar a tag <jar jarfile=

duardor

Eh o acento no comentario na palavra aplicação
nao pode ter caracter especial… nem acento nem ç nem essas coisas
tira e testa…

duardor

hehehe
o marcio respondeu 1:00 min antes… digitou mais rapido…
hehhe

caiofilipini

Não pode ter acentos nem nos comentários?

marciolx

Não pode ter acentos nem nos comentários?

não, a não ser que você especifique o encoding assim:

<?xml version=“1.0” encoding=“ISO-8859-1”?>

jgbt

Eu tirei os acentos e fechei a tag assim </jar jarfile> mas ele ta dando o erro:BUILD FAILED file&#58;C&#58;/testeant/build.xml&#58;18&#58; Element type &quot;jar&quot; must be followed by either att ribute specifications, &quot;&gt;&quot; or &quot;/&gt;&quot;.
Sei que é alguma coisa relacionada com a tag jar mas não consegui fazer funcionar.
Alguem sabe o que ta faltando???

[]'s

marciolx

“jgbt”:
Eu tirei os acentos e fechei a tag assim </jar jarfile> mas ele ta dando o erro:BUILD FAILED file&#58;C&#58;/testeant/build.xml&#58;18&#58; Element type &quot;jar&quot; must be followed by either att ribute specifications, &quot;&gt;&quot; or &quot;/&gt;&quot;.
Sei que é alguma coisa relacionada com a tag jar mas não consegui fazer funcionar.
Alguem sabe o que ta faltando???

[]'s

huhn… eu sei, tanto que respondi acima, leia de novo a resposta

quer dizer, feche assim:

&lt;jar jarfile="${dist}/testeant.jar"
     basedir="${build}"&gt;
     &lt;!-- Para tornar o JAR executavel--&gt;
     &lt;manifest&gt;
        <attribute name= "Main-Class"
        value="TesteAnt"/>
     &lt;/manifest&gt;
  &lt;/jar&gt;
caiofilipini

“jgbt”:
Eu tirei os acentos e fechei a tag assim </jar jarfile> mas ele ta dando o erro:BUILD FAILED file&#58;C&#58;/testeant/build.xml&#58;18&#58; Element type &quot;jar&quot; must be followed by either att ribute specifications, &quot;&gt;&quot; or &quot;/&gt;&quot;.
Sei que é alguma coisa relacionada com a tag jar mas não consegui fazer funcionar.
Alguem sabe o que ta faltando???

[]'s

O fechamento da tag <jar jarfile=…> deve ser </jar>. jarfile é um atributo da tag, não o nome.

jgbt

Eu fechei a tag das duas maneiras mas mesmo assim continua dando o erro:BUILD FAILED file&#58;C&#58;/testeant/build.xml&#58;16&#58; Element type &quot;jar&quot; must be followed by either att ribute specifications, &quot;&gt;&quot; or &quot;/&gt;&quot;.
Se eu tiro do arquivo essa tarefa e deixo somente a compilação ele diz que a target dist não existe.

[]'s

marciolx

troque o {build} por ${build}

jgbt

marciolx,

Segui a sua dica mas continua dando o mesmo erro.
Achei que o Ant ia facilitar a minha vida(he he).
Se vcs tiverem mais algum toque p/ me dar…
Valeu!

[]'s

marciolx

“jgbt”:
marciolx,

Segui a sua dica mas continua dando o mesmo erro.
Achei que o Ant ia facilitar a minha vida(he he).
Se vcs tiverem mais algum toque p/ me dar…
Valeu!

[]'s

compare seu xml com este:

<project name=“TesteAnt” default=“dist” basedir=".">
<!-- Define as propriedades–>
<property name=“src” value=“src”/>
<property name=“build” value=“build”/>
<property name=“dist” value=“dist”/>

<!-- Compila a aplicacao–>
<target name=“compile”>
<javac srcdir="${src}" destdir="${build}"/>
</target>

<!-- Gera o arq JAR com a aplicacao–>

<target name=“dist” depends=“compile”>

<jar jarfile="${dist}/testeant.jar"

basedir="${build}">

<!-- Para tornar o JAR executavel–>

<manifest>



</manifest>

</jar>

</target>

</project>
jgbt

marciolx,
Comparei os dois arqs e a unica diferença é dentro da tag manifest no meu arquivo tem atribute name=“Main-Class”, p/ que serve esse atributo?.Retirei essa linha e compilou a classe, mas deu o seguinte erro ao gerar o Jar: BUILD FAILED file&#58;C&#58;/testeant/build.xml&#58;15&#58; Class org.apache.tools.ant.taskdefs.Manifest does n't support nested text data.
Valeu por enquanto!

[]'s

marciolx

o meu também tem este atributo, é a classe que o java vai procurar quando tentar rodar o jar, só que não saiu no post anterior por causa da formatação blahblahblah e tudo o mais, veja agora se está igual, aqui funcionou:

<project name=“TesteAnt” default=“dist” basedir=".">
<!-- Define as propriedades–>
<property name=“src” value=“src”/>
<property name=“build” value=“build”/>
<property name=“dist” value=“dist”/>

<!-- Compila a aplicacao–>
<target name=“compile”>
<javac srcdir="${src}" destdir="${build}"/>
</target>

<!-- Gera o arq JAR com a aplicacao–>
<target name=“dist” depends=“compile”>
<jar jarfile="${dist}/testeant.jar"
basedir="${build}">
<!-- Para tornar o JAR executavel–>
<manifest>
<attribute name= “Main-Class”
value=“TesteAnt”/>
</manifest>
</jar>
</target>
</project>

jgbt

Aleluia!!!
Usei o arq que vc mandou e funcionou.
Não consegui comparar os arqs ainda(meu analista me deu uma tarefa p/ ontem, horario de trabalho sabe como e…) assim que der vou fazer a comparação.
Valeu pela força galera!
Até +!

[]'s

Criado 28 de agosto de 2003
Ultima resposta 28 de ago. de 2003
Respostas 15
Participantes 4