Foros del Web » Programación para mayores de 30 ;) » Java »

build.xml

Estas en el tema de build.xml en el foro de Java en Foros del Web. Hola tengo un pequeño proyecto que quiero convertirlo en un .jar Este proyecto tiene añadido diferentes jars. Estoy creando el xml pero me da error ...
  #1 (permalink)  
Antiguo 27/06/2013, 08:16
 
Fecha de Ingreso: diciembre-2010
Mensajes: 459
Antigüedad: 13 años, 4 meses
Puntos: 21
build.xml

Hola tengo un pequeño proyecto que quiero convertirlo en un .jar
Este proyecto tiene añadido diferentes jars.

Estoy creando el xml pero me da error y me dice que me falta clases que estan en los jars

Código:
<?xml version="1.0" encoding="UTF-8"?>
<project name="crearPDF" default="dist" basedir=".">
	<property name="src.dir" value="src"/>
	<property name="build.dir" value="build"/>
	<property name="dist.dir" value="dist"/>

	<target name="dist" depends="clean,compile" description="Clean build and dist directories, then compile" />
	
	<target name="clean" description="Delete old build and dist directories">
		<delete dir="${build.dir}" />
		<delete dir="${dist.dir}" />
	</target>

	<target name="compile"  description="Compile Java sources">

		<mkdir dir="${build.dir}/classes"/>
		<mkdir dir="${src.dir}"/>	 	 
		<javac srcdir="${src.dir}" destdir="${build.dir}/classes" 
			debug="${compile.debug}" deprecation="${compile.deprecation}"
			optimize="${compile.optimize}">
<!-- 			<classpath refid="compile.classpath" /> -->
		</javac>

	</target>

</project>
Saludos
__________________
Oye los consejos de todo el mundo, y sigue el tuyo.
Si te han ayudado deja un karma y si no te han ayudado pero vez util la información tb deja un karma xD
Sirdaiz
  #2 (permalink)  
Antiguo 27/06/2013, 09:48
Avatar de nup_  
Fecha de Ingreso: noviembre-2010
Mensajes: 265
Antigüedad: 13 años, 5 meses
Puntos: 32
Respuesta: build.xml

Ese build.xml no genera un jar, solo compila el código q se encuentra dentro de 'src'.
De todas formas me parece q está incompleto, hace referencia a variables q no son declaradas.
En el target 'compile' debes pasarle el classpath donde se encuentran las librerías de tu proyecto. Debes resolver añadiendo lo siguiente:
Código:
       <!--
                   En el filset cambia la propiedad dir hacia la carpeta
                   donde estén los jars de los q depende tu proyecto
       -->

	<path id="compile.classpath">
		<fileset dir="lib">
			<include name="**/*.jar" />
		</fileset>
	</path>


       <!--
                   Para crear un jar usas la operacion jar :)
       -->
    <target name="jar" depends="compile">

    	<jar destfile="${dist.dir}/application.jar">
    		<fileset dir="${build.dir}/classes" includes="**/*.class" />
    	</jar>
    </target>

Saludos;

Nup_
  #3 (permalink)  
Antiguo 27/06/2013, 09:52
 
Fecha de Ingreso: diciembre-2010
Mensajes: 459
Antigüedad: 13 años, 4 meses
Puntos: 21
Respuesta: build.xml

Grqacias por tu respuesta, he ehcho lo siguiente:

Código:
<?xml version="1.0" encoding="UTF-8"?>
<project name="crearPDF" default="dist" basedir=".">
	<property name="src.dir" value="src"/>
	<property name="build.dir" value="build"/>
	<property name="dist.dir" value="dist"/>

	<target name="dist" depends="clean,compile" description="Clean build and dist directories, then compile" />
	
	<target name="clean" description="Delete old build and dist directories">
		<delete dir="${build.dir}" />
	</target>

	<path id="classpath">
		<pathelement path="${classpath}"/>
	      <fileset dir="lib">
	        <include name="**/*.jar"/>
	      </fileset>
	    <pathelement location="classes"/>
	</path>
	
	<target name="compile"  description="Compile Java sources">

		<mkdir dir="${build.dir}/classes"/>
		<mkdir dir="${src.dir}"/>	 	 
		<javac srcdir="${src.dir}" destdir="${build.dir}/classes" 
			debug="${compile.debug}" deprecation="${compile.deprecation}"
			optimize="${compile.optimize}">
			<classpath refid="classpath" />
		</javac>

	</target>
	
	<target name="jar" depends="compile">

    	<jar destfile="dist.dir/application.jar">
    		<fileset dir="${build.dir}/classes" includes="**/*.class" />
    	</jar>
    </target>

</project>
Pero me da el error: lib does not exist.
Y claro yo no tengo esa carpeta lib en mi proyecto por eso me da el error.
Uso eclipse y lo que he hecho es darle a añadir externnal jars y los he agregado de esa manera
Tengo q crearme una carpeta lib y meter ahi los jars?

Saludos
__________________
Oye los consejos de todo el mundo, y sigue el tuyo.
Si te han ayudado deja un karma y si no te han ayudado pero vez util la información tb deja un karma xD
Sirdaiz
  #4 (permalink)  
Antiguo 28/06/2013, 06:50
Avatar de nup_  
Fecha de Ingreso: noviembre-2010
Mensajes: 265
Antigüedad: 13 años, 5 meses
Puntos: 32
Respuesta: build.xml

si, crea una carpeta lib y pon ahí todos los jars de los q dependa tu proyecto.

Etiquetas: clase
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:58.