Pessoal estou tentando montar um jar usando ANT … só que não estou conseguindo levar junto com o jar as dependencias que o mesmo precisa por exemplo em uma classe estou usando a lib commons-lang-2.4 … só que quando o script do ANT faz o jar ele nao esta levando junto as classes referentes a essa lib ai qdo vou usar o jar criado da erro falando q X classe nao existe. Alguem pode me ajudar ?
abaixo segue o trecho q faz o arquivo JAR
<target name="jarFile" description="monta o jar do projeto" depends="clean,compile">
<delete file="${outputdeploy.dir}/gmpvalidator.jar"/>
<jar destfile="${outputdeploy.dir}/gmpvalidator.jar" basedir="${output.dir}"/>
</target>
Na verdade você só informa ao ANT as libs que você quer colocar no Classpath para ele poder compilar e gerar o JAR, ele não copia as classes da Lib para o seu projeto!!!
R
rpb.cold
Thiago,
E como eu faço para adicionar as libs no classpath e o ant conseguir buscar e gerar o JAR corretamente?
L
luiscolling
Estou procurando algo parecido.
Pelo Eclipse temos a opção de exportar para um Runnable JAR File, assim os jars dependencias são “descompactados” para dentro do jar principal, assim teremos a estrutura dos pacotes.
Alguem sabe como gerar isso por script no Ant?
F
felipef1 like
luiscolling:
Estou procurando algo parecido.
Pelo Eclipse temos a opção de exportar para um Runnable JAR File, assim os jars dependencias são “descompactados” para dentro do jar principal, assim teremos a estrutura dos pacotes.
Alguem sabe como gerar isso por script no Ant?
Ae Ilseu
Sei que tu ja deve ter descoberto, mas eu nao gosto de deixar topicos em aberto
<?xml version="1.0" encoding="UTF-8"?><projectname="Commons"basedir="."default="dist"><propertyname="appName"value="Commons"/><propertyname="user.name"value="Felipe Flores"/><propertyname="src"value="src"/><propertyname="build"value="build/classes"/><propertyname="dist"value="dist"/><filesetid="myFileSet"dir="../Libraries/libs"><includename="hibernate3.jar"/><includename="servlet-api.jar"/><includename="javax.faces*.jar"/></fileset><pathid="compile.classpath.commons"><filesetrefid="myFileSet"/></path><manifestclasspathproperty="lib.list"jarfile="${dist}/${appName}.jar"><classpathrefid="compile.classpath.commons"/></manifestclasspath><targetname="compile"depends="init"><echomessage="Compilando Entities"/><javacdestdir="${build}"debug="true"srcdir="${src}"><classpathrefid="compile.classpath.commons"/></javac><echomessage="Compilação com sucesso"/></target><targetname="libs"depends="compile"><copytodir="${build}/lib"><filesetrefid="myFileSet"/></copy></target><targetname="init"><echomessage="Preparando para iniciar o build de ${appName}"/><echomessage="Criando pastas para preparar a compilação"/><mkdirdir="${build}"/><mkdirdir="${dist}"/><mkdirdir="${build}/lib"/></target><targetname="dist"depends="libs"><echo>Gerandoo.jardoprojeto.</echo><jardestfile="${dist}/${appName}.jar"basedir="${build}"><manifest><attributename="Class-Path"value="${lib.list}"/></manifest></jar></target></project>