Como adicionar drver no jar usando Ant?

1 resposta
marcioa1

Olá,

Meu build.xml
<?xml version="1.0"?>
<project name="relatorios" default="jar" basedir=".">
	<property name="name" value="relatorios"/>
	<property name="src.dir" value="src"/>
	<property name="build.dir" value="build"/>
	<property name="build.classes" value="${build.dir}/classes"/>
	<property name="build.lib" value="${build.dir}/lib"/>
	
	<target name="prepare">
	    <mkdir dir="${build.dir}"/>
	    <mkdir dir="${build.classes}"/>
		<mkdir dir="${build.lib}"/>
	</target>
	
	<target name="compile" depends="prepare"">
	    <javac srcdir="${src.dir}" destdir="${build.classes}"/>
	</target>
	
	<target name="jar" depends="compile">
		<jar jarfile="${build.lib}/relatorios.jar"
			basedir="${build.classes}"
			excludes="lixo/*.*,teste/*.*">
			<manifest>
				<attribute name="Main-Class" value="relatorio.EmiteRelatorios"/>
			</manifest>
		</jar>
	</target>
	<target name="clean">
	    <delete dir="${build.dir}"/>
	</target>
	
</project>

Acontece que este jar não é executável pois não tem o driver de conexão com o banco ( e outros jar's ) necessários para que ele seja um jar executável. Como iserir estes jar's em uma pasta lib no meu build.xml ?

Obrigado,

Marcio

1 Resposta

alberto_ribeiro

Boa tarde, caro marcio eu tenho um arquivo build.xml que faz isso, veja se consigo te ajudar:

o que interessa a você acho que é aqui:

# <target name="compile">  
#     <mkdir dir="${build.dir}" />  
#         <javac srcdir="${src.dir}" destdir="${build.dir}">  
#             <classpath>  
#                 <fileset dir="${lib.dir}">  
#                     <include name="**/*.jar"/>  
#                 </fileset>  
#             </classpath>  
#         </javac>  
#     </target>
<?xml version="1.0"?>

<!-- ======================================================================= -->
<!-- Template build file                                                                               -->
<!-- ======================================================================= -->

<project name="appl" default="main" basedir=".">

   <property name="Name" value="Cadastro"/>
   <property name="version" value="1.0"/>

   <property name="src.dir" value="${basedir}/src"/>
   <property name="lib.dir" value="${basedir}/lib"/>
   <property name="build.dir" value="${basedir}/build"/>
   <property name="integracao.main.class" value="br.com.fiap.dom.trabalho.Principal"/>

   <!-- =================================================================== -->
   <!-- Compila o codigo fonte                                              -->
   <!-- =================================================================== -->

	<target name="compile">
	<mkdir dir="${build.dir}" />
		<javac srcdir="${src.dir}" destdir="${build.dir}">
			<classpath>
				<fileset dir="${lib.dir}">
					<include name="**/*.jar"/>
				</fileset>
			</classpath>
		</javac>
	</target>

	<target name="doJAR">
			<property name="jar.file" value="build/DEXTOTAL.jar" />
			<delete file="${jar.file}" />

			<jar compress="on" destfile="${jar.file}">
				<manifest>
					<attribute name="Main-Class" value="${integracao.main.class}" />
				</manifest>
				<fileset dir="${build.dir}">
					<include name="**/*.*" />
				</fileset>
				<zipgroupfileset dir="${lib.dir}" includes="**/*.jar" />
			</jar>
		</target>

   <!-- =================================================================== -->
   <!-- Main Target                                                         -->
   <!-- =================================================================== -->

   <target name="main" depends="doJAR" />


   <!-- =================================================================== -->
   <!-- Cleans up the current build                                         -->
   <!-- =================================================================== -->

   <target name="clean">
      <delete dir="${build.dir}"/>
      <delete file="${basedir}/${Name}.jar" />
   </target>

</project>

[]'s

Criado 28 de janeiro de 2008
Ultima resposta 28 de jan. de 2008
Respostas 1
Participantes 2