Raible's Wiki
Raible Designs AppFuseHomepage- Korean - Chinese - Italian - Japanese QuickStart Guide User Guide Tutorials Other ApplicationsStruts ResumeSecurity Example Struts Menu
Set your name in
UserPreferences
Referenced by
JSPWiki v2.2.33
Hide Menu |
AppFuse, por defecto, está configurado para ser un proyecto Eclipse. Cuando ejecuta ant new para crear un nuevo proyecto obtendrá los arvhicos .project y .classpath para arrancar su proyecto con ellos.. De todos modos tendrá que hacer algunos ajustes fáciles en Eclipse (particularmente para arrancar Ant). Este tutorial le muestra como configurar Eclipse para desarrollar su proyecto AppFuse.
Este tutorial está basado en Windows XP y Eclipse 3.0.1 y debería funcionar en cualquier plataforma. Puede descargar Eclipse 3.0.1 si aún no lo tiene instalado. También le recomiendo que se descargue mi paquete de plugins para Eclipse o compre MyEclipse. Un sueño que tengo es que sea posible crear un proyecto de MyEclipse/AppFuse – pero esto seguramente requeriría una reescritura completa de la estructura de directorios de AppFuse y del archivo de construcción build.html y no tengo ni el tiempo ni la energía. Aparte de esto, el sistema actual funciona bastante bien, si no le importa usar Ant. Tabla de Contenidos
Crear un Nuevo Proyecto Java en Eclipse [#1]Abra Eclipse (con un espacio nuevo de trabajo o uno nuevo) y vaya a Archivo → Nuevo→ Proyecto. Entonces seleccione "Java Proyect" y pulse el botón Siguiente. En el campo Nombre de proyecto, entre el nombre de su proyecto (p.e. appfuse) y el directorio donde reside su proyecto (i.e. c:\source\appfuse) en la caja que está debajo. Si le preguntan para cambiar a la Perspectiva Java, seleccione Si.Si trata de construir el proyecto en este punto, probablemente obtendrá numerosos errores. La mayoría de ellos provienen del hecho de que UserForm no se puede encontrar. Esto es debido a que todas las ActionForms en AppFuse (si está usando la versión con Struts) están generadas desde POJOs con XDoclet. Todas las tareas para XDoclet están configuradas en el archivo de Ant build.xml así que la cosa mas fácil de hacer es ejecutar "ant gen-forms" para generar las ActionForms. Si tiene Ant 1.6.2+ instalado en su ruta, puede hacer esto desde la línea de comandos. El siguiente paso muestra como configurar Eclipse para ejecutar su build.xml de AppFuse. TIP: Aquí hay una forma de ocultar los JARs que ve en el Explorador de Paquetes de Eclipse.Configurar Ant en Eclipse [#2]La forma mas fácil de configurar Eclipse para AppFuse es instalar Ant en su disco duro p.e. c:\Tools\apache-ant-1.6.2) y entonces apuntar el ANT_HOME de Eclipse a este directorio. Para hacer esto vaya a Ventana → Preferencias → Ant → Runtime. Entonces pulse el botón "Inicio Ant " y seleccione la carpeta de instalación en su disco duro. Si en vez de esto usa el Ant del propio Eclipse necesita añadir junit.jar a su vía de acceso de clases. Para hacer eso vaya a Ventana → Preferencias → Ant → Runtime. Entonces pulse el botón “Añadir Archivos JAR…” y seleccione junit.jar desde /lib/junit3.8.1/lib/junit.jar. Pulse OK hasta que regrese a la vista del entorno de trabajo. A continuación añada el catalina-ant.jar (desde $CATALINA_HOME/server/lib) a la vía de acceso de clases de ant. Entonces, en la pestaña de propiedades, añada el archivo tomcatTasks.properties (en lib/ant-contrib) como un archivo de propiedades global. Debajo se muestra una captura de pantalla de cómo se debería ver su vía de acceso clases del Ant Runtime después de las modificaciones anteriores:
] Añadir build.xml a la Vista Ant [#3]Ahora necesitamos añadir build.xml a la Vista Ant de Eclipse. Para hacer esto vaya a Ventana → Mostar Vista → Ant. Entonces pulse en el primer icono de esta vista (captura debajo) y añada el fichero de construcción de AppFuse.Ejecutar Ant [#4]Después de añadir el build.xml debería poder expandirlo en la Vista Ant y ejecutar cualquiera de sus objetivos. Yo suelo hacer “test-all” para verificar que todas las pruebas pasan en mi proyecto inicial. Para ver la lista de los objetivos que uso mas a menudo ver Objetivos Ant de AppFuse.Ahora si ejecuta el objetivo “compile” y entonces refresca el proyecto (clic-derecho en el proyecto → Refrescar) no debería ver ningún error en el panel de “Problemas”. Ahora debeía poder cmpilar y crear las clases como nomalmente lo hace. A veces cuando mis importaciones no son resueltas correctamente por Eclipse, tengo que ejecutar Proyecto → Limpiar en Eclipse. NOTA: Si está usando la versión interna de Ant, podría obtener un mensaje de error como el siguiente:BUILD FAILED: C:\source\appfuse\build.xml:802: The following error occurred while executing this line: C:\source\appfuse\build.xml:780: The following error occurred while executing this line: java.lang.NoClassDefFoundError: org/apache/xml/serialize/OutputFormat Es debido a que hay tareas que requieren que Xerces esté en su vía de acceso a clases de Ant [referencia]. He añadido xercesImpl.jar y xml-apis.jar (desde mi auto-instalada versión de Ant) al classpath de Ant de Eclipse para resolverlo. En este punto debería ver algo similar a la captura de abajo. Ejecutar las Pruebas JUnit en Eclipse [#5]También es posible ejecutar sus pruebas JUnit en Eclipse. Pero antes de ejecutarlas necesita ejecutar el objetivo “war”. Después de que complete este objetivo, refresque su proyecto.Después de que lo haya hecho satisfactoriamente, abra la prueba que quiera ejecutar en Eclipse (p.e. UserDaoTest) y vaya a Ejecutar &arrr; Depurar Como &arrr; Prueba JUnit. Note que puede que tenga que ejecutar el objetivo “db-load” antes de ejecutar sus pruebas de vez en cuando. Yo tenía el siguiente método en la clase Base*TestCase para cada capa, pero esto causaba que DBUnit recargara la base de datos antes de cada prueba en una clase Test. Su eliminación reduce el tiempo de ejecución de “test-all” por más de 30 segundos.
Si las instrucciones de arriba no le funcionasen para ejecutar las pruebas JUnit en Eclipse, le sugiero que simplemente use la línea de comandos – p.e. ant test-dao –Dtestcase=UserDAO. Ejecutando las pruebas desde la línea de comandos “siempre” funciona. ;-) Consejos para Depurar y Editar Interfaces de Usuario [#6]Para depurar yo uso el Plugin de Tomcat en Eclipse y establezco puntos de ruptura.. Para que los puntos de ruptura funcionen necesita indicarle el camino a su fuente en el menú de Eclipse Ventana->Preferencias, seleccione Tomcat, entonces Ruta de Fuentes.Para pequeños cambios yo uso “ant deploy-web” que sólo dura un par de segundos. Para cositas verdaderamente pequeñas es a veces más fácil editar el fichero en la carpeta webapps de Tomcat. Para cambios de diseño mayores, normalmente ejecuto la aplicación, veo el código fuente de la página y lo grabo en una carpeta de pruebas en el mismo directorio de mi proyecto. Entonces hago un buscar/remplazar y cambio todas las referencias a “/appfuse/” por “/web/”. Esto me permite cambiar los archivos CSS y JS y simplemente refrescar el fichero en la carpeta de pruebas. Attachments:
|