Instalando el Proyecto JavaMexico 2.0 for Dummies


INSTALACION DE JAVAMEXICO 2.0 (para Windows)


El objetivo de este Instructivo o tutorial como quieras llamarle, es para que, quienes(como un servidor) no tienen experiencia en lo que es el desarrollo de Proyectos y quieren seguir de cerca el desarrollo del Proyecto JavaMexico 2.0, y por lo tanto les interesa instalar un clon del proyecto, este instructivo lo hago tomando como referencia los problemas por los que pasé al echarlo a andar en mi Pc; Es una buena oportunidad para enriquecernos Didácticamente en el Proceso que lleva el desarrollo de un Proyecto de Software, ya qué hace uso de Tecnologías y Herramientas que actualmente son de las más demandas en el ámbito laboral de Java(Spring, Hibernate, JPA, MVC, etc.)y además de las Buenas prácticas de programación.

El proyecto (Todo el Código y demás archivos) se encuentra alojado en: http://code.google.com/p/javamexico/
Para poder descargar el proyecto javamexico2.0, debes utilizar Mercurial; Mercurial es una herramienta que te permite descargar a tu Pc un clon del proyecto y mantenerlo actualizado de manera muy sencilla, hay un manual aquí. compartido por benek.
Te explico de manera rápida y sencilla como Clonar el proyecto en tu Pc(Estoy usando Windows 7):
Para Verificar que mercurial este correctamente instalado, en la consola de Windows tecleas el comando hg , y te deberá mostrar un listado de los comandos básicos de mercurial.
By jsantosr09 at 2010-08-05

Bueno ya está confirmado que quedó bien instalado Mercurial, ahora vamos a clonar el proyecto, solo tienes que teclear:
hg clone javamexico (al final entre` hg/` y ´javamexico´ hasy un espacio en blanco)
Mercurial va a comenzar a hacer su chamba, el resultado es algo como esto:
By jsantosr09 at 2010-08-05

Bien, ya puedes cerrar la consola de Windows; ahora ya tienes un clon del proyecto JavaMexico 2.0 en tu Pc, en mi caso (Windows 7) me voy a la siguiente carpeta del Usuario que esta como administrador, que en mi caso el usuario que esta como administrador se llama ´G71´, entonces la ruta es: C: Usuarios>G71> Dentro de la carpeta G71, Mercurial me creo una carpeta nueva que se llama “javamexico” .
By jsantosr09 at 2010-08-05

En total dentro de javamexico hay 4 carpetas:
• .hg > Esta es para uso de Mercurial
• Java > Aquí es donde están los archivos que van a ser abiertos en Eclipse.
• Spec > Muy interesante esta carpeta, ya que contiene la lógica, la definición de cómo va estar organizado el proyecto.
• Sql > Aquí esta el script para crear las tablas en PostgreSql, pero conforme vaya avanzando el proyecto se van a ir agregando scripts para otros DBMS.
Enhorabuena ¡ ya tienes el clon del proyecto en tu PC. Hasta aquí termina lo referente a Mercurial y la Clonación, vamos ahora al proceso de Abrir el Proyecto.

Como se menciona en el foro, el proyecto JavaMexico 2.0 hace uso de las Tecnologías (Programas o Herramientas):
• Maven
• Hibernate
• Spring
• Tapestry
Si te interesa colaborar en el desarrollo del proyecto necesitas tener instalados los programas antes mencionados.
Si sólo tienes curiosidad de ver de qué se trata, y solo quieres probar la Aplicación(JavaMexico), o escudriñar el código; Entonces no necesitas todos esos programas, sólo necesitaras: el JDK, Eclipse con el plugin M2Eclipse, y PostgreSQL.

Que necesitas para correr la aplicación en tu Pc:
1. Obviamente tener instalado el jdk.
2. El Eclipse Java EE IDE for Web Developers.
3. Y para integrar Maven dentro de eclipse necesitas el pugin M2Eclipse
4. Para la base de datos necesitas PostgreSql (El proyecto esta configurado por default para PostgreSQL, Pero haciendo algunes ajustes, puede funcionar con cualquier otro DBMS).

Asumiendo que ya tienes instalado y configurado todo lo antes mencionado, vas a realizar los siguientes pasos:
• Paso 1 – Crear la Base de Datos ‘javamexico’ en PostgreSql
• Paso 2 – Crear las tablas de la BD, para esto utilizas el Script que ya viene con el proyecto
• Paso 3 – Cargar el proyecto en Eclipse.
• Paso 4 – Hacer las pruebas unitarias en javamex-hibernate3, src/test/java.
• Paso 5 – Correr el proyecto Principal.
• Paso 6 – El CMS de JavaMexico 2.0


Paso 1


Abres PostgreSql y creas una nueva Base de Datos, con las siguientes características:
• Nombre de la BD: javamexico
• Propietario: javamex
• Password: javamex2
By jsantosr09 at 2010-08-05
By jsantosr09 at 2010-08-05

Ya tienes la Base de Datos, ahora para crear las tablas tienes que ejecutar el Script que se encuentra en la carpeta “sql” que está dentro de “javamexico”(creada por Mercurial), el archivo se llama `tablas_postgresql_v1.sql`, yo lo ejecuté de la siguiente manera.

Paso 2


Utilizando el administrador gráfico que trae PostgreSql ‘pgAdmin III’, seleccionas la BD ’javamexico’ y te vas al menú: ‘Herramientas>Scripts>sentencia CREATE’ y te va a mostrar una nueva ventana como esta:
By jsantosr09 at 2010-08-05

Dentro de esta ventana te vas al menú: Archivo > Abrir > (seleccionas el archivo tablas-postgresql-v1.sql) y lo abres, y lo ejecutas (F5), te debe mostrar algo así:
By jsantosr09 at 2010-08-05

Ya tienes la BD con sus tablas, ahora puedes cargar el proyecto en Eclipse.

Paso 3


Dentro de Eclipse te vas al menú: File > Import … > , te abre una nueva ventana donde debes seleccionar “Existing projects into Workspace” siguiente>
By jsantosr09 at 2010-08-05

Aparece otra ventana
By jsantosr09 at 2010-08-05

En la opción “Select root directory” le das en Browse…
By jsantosr09 at 2010-08-05

Te vas a la carpeta “javamexico”, (la que creo Mercurial) y seleccionas la ruta: javamexico > java Aceptar.
By jsantosr09 at 2010-08-05

Ahora te aparecen 4 proyectos, seleccionas todos EXCEPTO javamex-mockups , finish.
Listo, ya tienes cargados tus proyectos en el Workspace de Eclipse.
NOTAS:
1. Al final de este paso, eclipse te va a empezar a cargar un monton de “cosas” de Internet, (como dijera ezamudio: parece que te está bajando medio Internet),es Maven el que hace eso.
2. Muy Posiblemente al iniciar eclipse recibas una advertencia “Maven Integration for Eclipse JDK Warning”, como la imagen.
By jsantosr09 at 2010-08-03

la solución que me dio Shadownk me funcionó muy bien, la pongo textualmente:
“seguro que es porque eclipse esta intentando compilar con la jre y no con el jdk, para solucionar eso crea un acceso directo de tu eclipse, y ve a propiedades y en la opcion destino despues de lo que tiene agrega un espacio y luego:

-vm "ruta al bin de java\javaw"

como ejemplo, yo lo tengo asi:

C:\eclipse\eclipse\eclipse\eclipse.exe -vm "C:\Archivos de programa\Java\jdk1.6.0_12\bin\javaw"

lo que esta en negrita ya lo tiene solo agrega lo que viene despues.

Saludos”



Paso 4


Los archivos a ejecutar son: TestForos.java, TestPreguntas.java y TestUsuarios.java; y se encuentran en la ruta: javamex-hibernate3 > src/test/java – org.javamexico.test.dao
By jsantosr09 at 2010-08-05

Ejecutas cada uno de los archivos como Junit Test, y (tratándose de TestForos.java) te debe mostrar algo como esto:
By jsantosr09 at 2010-08-05

Esto es con cada uno de los archivos TestXxx.java antes mencionados.

Paso 5


Al estar en este paso es porque ya estás seguro que todo funciona bien, ya ejecutaste los TestXxx.java y no dieron ERROR.
Para ejecutar el proyecto, debes seleccionar en el “Explorador de proyectos”, el proyecto que dice: JavaMexico, teniéndolo seleccionado te vas al menú: Run > Run as > Maven build
By jsantosr09 at 2010-08-05

Te va a desplegar otra ventana como esta:
By jsantosr09 at 2010-08-05

En donde dice Goals le vas a poner: “jetty:run”, y además tendras que seleccionar la casilla que dice ‘Resolve Workspace artifacts’. Le das Run y te debe arrojar la siguiente información:
By jsantosr09 at 2010-08-05

Started Jetty Server

Paso 6


Listo ¡ Ya tienes la aplicación corriendo, ahora solo abre tu explorador de Internet y en Dirección le pones: localhost:8080/JavaMexico Ahí tienes JavaMexico 2.0.
By jsantosr09 at 2010-08-04

Por favor, espero sus Críticas y Comentarios para la mejora de este instructivo. Con lo referente a la ejecución del Script para crear las tablas, no se cuál sea la manera más apropiada de ejecutarlo, por el momento esa fue la única manera que encontré, pero les repito quedo en espera de sus sugerencias para mejorar el presente.
Saludos
Links de Referencia:
http://code.google.com/p/javamexico/
http://javamexico.org/foros/comunidad_javamexico_2_0/entendiendo_el_proyecto_javamexico_2_0_un_punto_de_partida
http://www.javamexico.org/foros/comunidad_javamexico_2_0/que_es_javamexico_2_0
http://www.javamexico.org/