Fecha de creación del tutorial: 2004-06-15
Desarrollo Gráfico ANT
Cuando construimos aplicaciones complejas debemos tratar de automatizar los máximo posible tareas mecánicas como:
- Extracción de fuentes de un repositorio (por ejemplo CVS)
- Compilación de nuestros fuentes
- Creación de los ficheros temporales
- Empaquetamiento de binarios para distintos entornos (publico, privado, intranet, etc.)
- Construcción de componentes complejos (como EJBs)
- Ejecución de pruebas unitarias
- Generación de la documentación
- Despliegue de componentes
- Borrado de ficheros temporales
- Y muchas cosas más
Para esto, podemos utilizar ANT (ver tutorial) e incluso otras opciones que van a dar mucho que hablar como MAVEN (tenemos un tutorial en el horno).
Para trabajar con ANT, podemos hacerlo a mano o utilizar herramientas especificas como Antelope o las características avanzadas de nuestros entornos habituales (NetBeans en nuestro caso)
Antelope
Antelope forma parte de www.Tigris.org que viene a ser como www.sourceforge.org (repositorio de proyectos abiertos) pero un poquito más acotado....

Podemos ir al Web y acceder al link de la guía, que es sorprendentemente buena...
http://antelope.tigris.org/nonav/docs/manual/index.html
En el área de Documents & Files podemos descargarnos los binarios

Y, estando seguros de tener instalado ANT, podemos ejecutar el comando para arrancar nuestra herramienta.
ant -f run.xml
C:\java\AntelopeApp_3.1.8>dir Volume in drive C has no label. Volume Serial Number is 7C92-5811 Directory of C:\java\AntelopeApp_3.1.8 06/15/2004 08:37a <DIR> . 06/15/2004 08:37a <DIR> .. 06/06/2004 04:07a 808,495 AntelopeApp_3.1.8.jar 06/06/2004 04:07a 21,663 ChangeLog.txt 06/06/2004 04:07a 350 install.txt 06/06/2004 04:07a 2,258 license.txt 05/07/2004 08:23p 2,363 run.xml 5 File(s) 835,129 bytes 2 Dir(s) 15,535,435,776 bytes free C:\java\AntelopeApp_3.1.8>echo %ANT_HOME% C:\java\apache-ant-1.6.1 C:\java\AntelopeApp_3.1.8>ant -f run.xml |
Nos aparece un menú gráfico donde podemos, de un modo bastante intuitivo, gestionar nuestros ficheros ANT (normalmente con el nombre build.xml)

Vamos a abrir uno de los build.xml reales que hemos utilizado anteriormente en este Web (EJB´s y Orion )
Podemos ver, a través del árbol de navegación, las distintas tareas y sus atributos.

Cambiando de lengüeta podemos ejecutar directamente los comandos.
Una de las cosas más simples pero que más nos ayuda es la sintaxis personaliza con colores.

NetBeans
Uno de mis entornos favoritos para el trabajo es NetBeans (para impartición de cursos porque para el trabajo en proyectos me parece igual o incluso mejor eclipse). Dentro de NetBeans, tenemos capacidades avanzadas de creación y ejecución de Scripts ANT y os vamos a mostrar lo sencillo que es
Creamos un nuevo proyecto (y asociamos el filesystem deseado, pinchando con el botón derecho sobre el proyecto creado)

Elegimos el nuevo tipo de elemento a insertar

Elegimos las relacionadas con Ant (si no las veis, ejecutar el Tools->Update para que se conecte al Web de NetBeans )

Elegimos el nombre del Script

Y se nos genera automáticamente algo como esto.
<?xml version="1.0" encoding="UTF-8"?>
<!-- Written to assume that classpath is rooted in the current directory. -->
<!-- So this should be OK if you make this script in the root of a filesystem. -->
<!-- If not, you may prefer to adjust the basedir, or move some directories around. -->
<!-- The idea is that both Ant and NetBeans have to know what the package root is -->
<!-- for the classes in your application. -->
<project basedir="." default="all" name="myapp">
<!-- Don't worry if you don't know the Ant syntax completely or need help on some tasks! -->
<!-- The standard Ant documentation can be downloaded from AutoUpdate and -->
<!-- and then you can access the help in menu Help | Help Sets | Ant 1.5.1 Manual. -->
<target name="init">
<!-- You can set up any variables you want used throughout the script here. -->
<property name="hello" value="world"/>
<!-- To use e.g. Jikes, uncomment this line. -->
<!-- (Or make the same change in Tools | Options | Ant Settings | Properties.) -->
<!-- <property name="build.compiler" value="jikes"/> -->
<!-- You might like to set up some overridable paths, etc.: -->
<!-- <property name="mylib" value="../lib/mylib.jar"/> -->
</target>
<target depends="init" name="compile">
<!-- Both srcdir and destdir should be package roots. -->
<!-- They could be different of course; in that case NetBeans can also be set -->
<!-- up to compile to a different filesystem in the same way; see Compiler Types: -->
<javac debug="true" deprecation="true" destdir="." srcdir=".">
<!-- To add something to the classpath: -->
<!-- <classpath><pathelement location="${mylib}"/></classpath> -->
<!-- To exclude some files: -->
<!-- <exclude name="com/foo/SomeFile.java"/><exclude name="com/foo/somepackage/"/> -->
</javac>
</target>
<target depends="init,compile" name="jar">
<!-- To make a standalone app: -->
<!-- 1. Create a myapp.mf manifest somewhere. -->
<!-- 2. Put in it two lines: -->
<!-- Manifest-Version: 1.0 -->
<!-- Main-Class: com.foo.Main -->
<!-- 3. Pass to <jar>: manifest="myapp.mf" -->
<jar basedir="." compress="true" jarfile="myapp.jar">
<exclude name="**/*.java"/>
<exclude name="**/*.form"/>
<exclude name="myapp.mf"/>
<exclude name="myapp.jar"/>
<exclude name="apidoc"/>
</jar>
</target>
<target depends="init,jar" description="Build everything." name="all">
<echo message="Application built. Hello ${hello}!"/>
</target>
<target depends="init,all" description="Try running it." name="test">
<java classname="com.foo.Main" failonerror="true" fork="true">
<classpath>
<pathelement location="."/>
</classpath>
<!-- Pass some args, perhaps: -->
<arg value="-myfile"/>
<!-- Will be given as an absolute path: -->
<arg file="myfile.txt"/>
</java>
</target>
<target depends="init" description="Javadoc for my API." name="javadoc">
<mkdir dir="apidoc"/>
<javadoc destdir="apidoc" packagenames="com.foo.mylib.*,com.foo.myapi.*">
<sourcepath>
<pathelement location="."/>
</sourcepath>
</javadoc>
</target>
<target depends="init" description="Clean all build products." name="clean">
<delete>
<fileset dir=".">
<include name="**/*.class"/>
</fileset>
</delete>
<delete file="myapp.jar"/>
<delete dir="apidoc"/>
</target>
</project>
|
Realizar las modificaciones más básicas, necesarias habitualmente, es tan sencillo como quitar algunas de las etiquetas de comentario.
Podemos también, gráficamente haciendo uso del botón derecho sobre cada uno de los targets, seleccionar gráficamente las tareas...

Podemos elegir otras (ver opción marcada) y nos aparecerá un desplegable completo

Si ahora pinchamos sobre una taréa especifica, podemos acceder gráficamente a todos sus modificadores

Con el botón derecho podemos ejecutar el target deseado

Como curiosidad, podéis comprobar que solo se ven los target que disponen de descripción:
<target depends="init" description="Clean all build products." name="clean">
Una cosa muy interesante que podemos hacer es añadir uno de los targest como línea de menú (o botón u otro elemento del entorno)
Añadimos un nuevo elemento al proyecto y seleccionamos un Shortcut

Elegimos un elemento de menú

Seleccionamos el Target

Elegimos el menú

Y ya lo tenemos, un menú nuevo con nuestro comando.

Conclusiones
Herramientas hay muchas y además gratuitas. En función de nuestro contexto pueden ser más adecuadas unas que otras.
Si disponemos de poca memoria es probable que herramientas tipo Antelope nos saque de un apuro de un modo rápido. Si no tenemos estas limitaciones, podemos utilizar NetBeans como entorno integrado de desarrollo (u otras herramientas como eclipse).... que es mucho más potente de lo que parece.
Todo jefe de proyecto debería tratar de liberar a uno de sus recursos del trabajo del día a día (de un modo esporádico) para que aprendiera nuevas técnicas de desarrollo y así aumentar la productividad del equipo completo. Es fácil que si no hacemos esto, nuestra productividad sea injustificadamente baja por la falta de realimentación de conocimientos. La nuevas tecnologías requieren formación continua ......
Anímate y coméntanos lo que pienses sobre este tutorial
Puedes opinar o comentar cualquier sugerencia que quieras comunicarnos sobre este tutorial; con tu ayuda, podemos ofrecerte un mejor servicio.
| Autor | Mensaje de usuario registrado |
|---|
- Puedes inscribirte en nuestro servicio de notificaciones haciendo clic aquí.
- Puedes firmar en nuestro libro de visitas haciendo clic aquí.
- Puedes asociarte al grupo AdictosAlTrabajo en XING haciendo clic aquí.
- Añadir a favoritos Technorati.
Esta obra está licenciada bajo licencia Creative Commons de
Reconocimiento-No comercial-Sin obras derivadas 2.5
Recuerda
Autentia te regala la mayoría del conocimiento aquí compartido (Ver todos los tutoriales). Somos expertos en: J2EE, Struts, JSF, C++, OOP, UML, UP, Patrones de diseño ... y muchas otras cosas.
¿Nos vas a tener en cuenta cuando necesites consultoría o formación en tu empresa?, ¿Vas a ser tan generoso con nosotros como lo tratamos de ser con vosotros?
Somos pocos, somos buenos, estamos motivados y nos gusta lo que hacemos ...
Autentia = Soporte a Desarrollo & Formación.
Tutoriales recomendados
| Nombre | Resumen | Visitas | Valoración | Votos | ||
|---|---|---|---|---|---|---|
| Instalar OpenESB 2.1 e Introducción | En este tutorial veremos como descargar e instalar OpenESB y explicaremos sus funcionalidades | 2009-12-03 | 1701 | - | - | ![]() |
| Tutorial básico sobre Google Application Engine | En este tutorial veremos cómo ejecutar una simple aplicación web en la infraestructura de Google | 2009-11-12 | 1937 | Bueno | 1 | ![]() |
| Instalación de Glassfish 2.1 | En este tutorial nos veremos cómo instalar el servidor de aplicaciones GlassFish. Además veremos los primeros pasos, como entrar en la consola de administración del servidor, y desplegar una aplicación EAR (Enterprise Application) | 2009-11-11 | 2705 | Bueno | 1 | ![]() |
| Integración con sistemas de Bug Tracking desde NetBeans 6.7 | En este tutorial vamos a examinar el soporte que proporciona NetBeans para la integración con sistemas de Bug Tracking. | 2009-09-21 | 2603 | - | - | ![]() |
| Instalación y configuración de Eclipse Galileo | Instalar y configurar el nuevo entorno de desarrollo Eclipse Galileo | 2009-07-07 | 10647 | - | - | ![]() |
| UploadFile con Icefaces + Hibernate + Anotaciones | Este tutorial pretende servir de guía de inicio para todos aquellos usuarios que comienzan a dar sus primeros pasos en ICEfaces, JSF e Hibernate | 2009-06-08 | 3088 | - | - | ![]() |
| Cómo hacer UML con Eclipse y el plugin UML2 | En este tutorial vamos a ver como podemos hacer modelos de UML con el plugin de Eclipse UML2. | 2009-04-13 | 10454 | Muy bueno | 1 | ![]() |
| Pruebas Software con Junit 4 y Eclipse | Junit se trata de un framework muy conocido en el mundo de los desarrolladores que con este tutorial intentamos acercar a quienes empiezan en este mundillo | 2009-01-20 | 7322 | - | - | ![]() |
| Solución a NoClassDefFoundError: SWTResourceUtil | Solución a NoClassDefFoundError: org/eclipse/ui/internal/util/SWTResourceUtil | 2009-01-14 | 2185 | - | - | ![]() |
| Primeros pasos por el mundo Java/Eclipse (en Vista) | En esta ocasión Roberto nos enseña de una manera sencilla como empezar a usar el entorno de desarrollo Eclipse para realizar nuestros proyectos Java. | 2008-11-03 | 6673 | - | - | ![]() |
Nota:
Los tutoriales mostrados en este Web tienen como objetivo la difusión del conocimiento.
Los contenidos y comentarios de los tutoriales son responsabilidad de sus respectivos autores.
En algún caso se puede hacer referencia a marcas o nombres cuya propiedad y derechos es de sus respectivos dueños. Si algún afectado desea que incorporemos alguna reseña específica, no tiene más que solicitarlo.
Si alguien encuentra algún problema con la información publicada en este Web, rogamos que informe al administrador rcanales@adictosaltrabajo.com para su resolución.







