Gerar manifest com o ant

Bom dia!

Como faz isso com o ant. Peguei o código abaixo na net e esta dando erro na hora de executar o jar pois o manifest dentro do jar fica quebrado. Abaixo vou postar o código do ant e o arquivo manifest.


<pathconvert property="project.manifest" pathsep=" ">
		<!--<path refid="meu.classpath"/>-->

		<chainedmapper>
			<flattenmapper />
			<globmapper from="*" to="lib/*" />

		</chainedmapper>
		<path>
			<fileset dir="${lib.dir}">
				<include name="**/*.jar" />
			</fileset>
		</path>

	</pathconvert>


	<!-- Cria o arquivo JAR -->
	<target name="jar" description="Gera o jar" depends="compile">
		<echo message="Criando o arquivo JAR" />
		<jar destfile="${dist.lib}/${ant.project.name}.jar" basedir="${classes.dir}">
			
			<manifest >
				<attribute name="Main-Class" value="minha.classe.Main" />
				<attribute name="Class-Path" value="${project.manifest}" />


			</manifest>

		</jar>

	</target>

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.0
Created-By: 10.0-b23 (Sun Microsystems Inc.)
Main-Class: minha.classe.Main
Class-Path: lib/JFlex.jar lib/Jama-1.0.2.jar lib/commons-codec-1.3.jar
  lib/commons-lang-2.0.jar lib/forms-1.1.0.jar lib/interfacePlugin.jar
  lib/jarbundler-1.4.jar lib/jax-qname.jar lib/jaxb-api.jar lib/jaxb-i
 mpl.jar lib/jaxb-libs.jar lib/jaxb-xjc.jar lib/jcommon-1.0.9.jar lib/
 jdom.jar lib/jfreechart-1.0.5.jar lib/jgraph.jar lib/namespace.jar li
 b/relaxngDatatype.jar lib/sax.jar lib/swingx.jar lib/xsdlib.jar

jar que funciona

Manifest-Version: 1.0
Main-Class: koala.KoalaSoftware
Class-Path: jaxb-api.jar 
 jaxb-impl.jar 
 jaxb-xjc.jar 
 jax-qname.jar 
 namespace.jar
 relaxngDatatype.jar 
 sax.jar 
 xsdlib.jar 
 jdom.jar 
 jgraph.jar 
 commons-codec-1.3.jar 
 jaxen-1.1-beta-9.zip 
 swingx.jar 
 syntax.zip 
 Jama-1.0.2.jar 
 jcommon-1.0.9.jar 
 jfreechart-1.0.5.jar 
 JFlex.jar 
 forms-1.1.0.jar 
 commons-lang-2.0.jar 
 jarbundler-1.4.jar 
 interfacePlugin.jar


O JAR não consegue encontrar as as libs pois parece que estão quebradas.

OBS: Se eu gerar um arquivo manifest manualme como segue abaixo funciona. Mas eu queria gerar automaticamente o manfest.

<jar destfile="test.jar" basedir=".">
    <include name="build"/>
    <manifest>
      <!-- Who is building this jar? -->
      <attribute name="Built-By" value="${user.name}"/>
      <!-- Information about the program itself -->
      <attribute name="Implementation-Vendor" value="ACME inc."/>
      <attribute name="Implementation-Title" value="GreatProduct"/>
      <attribute name="Implementation-Version" value="1.0.0beta2"/>
      <!-- details -->
      <section name="common/class1.class">
        <attribute name="Sealed" value="false"/>
      </section>
    </manifest>
  </jar>

http://ant.apache.org/manual/CoreTasks/jar.html

Próximo ao final da pagina.

Abs,

PS

Mas vou ter q colocar um por um na tag section ?

Pelo visto seu project.manifest aponta para um diretório que possui um subdiretório chamado lib.

Vc já tentou apontar diretamente para esse diretório lib ?

PS

apontei para o project.manifest e gerou o seguinte manifest

[code]Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.0
Created-By: 10.0-b23 (Sun Microsystems Inc.)
Main-Class: minha.classe.Main
Built-By: resteves
Implementation-Vendor: ACME inc.
Implementation-Title: GreatProduct
Implementation-Version: 1.0.0beta2

Name: lib/JFlex.jar lib/Jama-1.0.2.jar lib/jax-qname.jar lib/jaxb-api.
jar lib/jaxb-impl.jar lib/jaxb-libs.jar lib/jaxb-xjc.jar lib/namespac
e.jar lib/relaxngDatatype.jar lib/sax.jar lib/xsdlib.jar lib/commons-
codec-1.3.jar lib/commons-lang-2.0.jar lib/forms-1.1.0.jar lib/interf
acePlugin.jar lib/jarbundler-1.4.jar lib/jcommon-1.0.9.jar lib/jdom.j
ar lib/jfreechart-1.0.5.jar lib/jgraph.jar lib/swingx.jar
Sealed: false
[/code]

e continuou dando erro

Na verdade descobri o que estava acontencendo. No código abaixo eu não podia estar especificando o to=“lib/*” e sim to="" pois meu Jar principal esta dentro de lib tbm


          <globmapper from="*" to="lib/*" />