Entradas agregadas ‘HOWTO’

Personalizar esquema con Hibernate

Las anotaciones JPA junto con el plugin hbm2ddl de Hibernate, proporcionan a los desarrolladores una fácil y rápida de generar el esquema de base de datos a partir del dominio. Muchas veces debido a los restricciones de un cliente es necesario seguir unas normas para la generación de los nombres. A continuación explicaremos un conjunto de herramientas y anotaciones de las que nos podemos valer para la generación de un esquema que siga las diferentes normas para la generación del esquema.

(más…)

Lunes,12 enero, 2009 at 3:22 1 Comentario

Tutorial sobre Maven (I)

¿Qué es Maven?

Maven es una herramienta de línea de comandos que nos ayuda a la creación de nuevos proyectos, gestión y documentación del mismo. Mediante numerosos plugins nos permite crear un nuevo proyecto, compilar, ejecutar los test, generar su documentación, empaquetar el proyecto, despegarlo, etc.

¿Cómo instalar Maven?

Para instalar Maven únicamente hay que descargarlo y seguir las instrucciones indicadas en su página principal:

[1] http://maven.apache.org/download.html

Una vez instalado, tendríamos que establecer el destino en donde van a ser almacenados las dependencias (repositorio local) de nuestros proyectos. Para ello editamos el fichero settings.xml que se encuentra en el directorio M2_HOME/conf y lo indicamos mediante la entrada localRepository.

Ejemplo: <localRepository>c:\maven_repository</localRepository>

Nota: En el caso que no indiquemos una entrada para el repositorio local, se almacenarán en un directorio por defecto, el cual dependerá del SO que estemos utilizando.

¿Cómo crear un proyecto?

Abrimos una consola y ejecutamos la siguiente sentencia:

$mvn archetype:generate

A continuación nos mostrará una lista con todos los arquetipos (proyectos modelo) que se encuentran dados de alta en el repositorio central de Maven. Debemos elegir una proyecto modelo para le creación de nuestro proyecto, en nuestro caso escogemos el proyecto por defecto maven-archetype-quickstart. Una vez seleccionado el tipo de proyecto que queremos crear, nos pedirá la siguiente información:

- groupId: Identificador común que van a tener los proyectos desarrollados por mi o por la empresa a la que pertenezco. En nuestro caso establecemos el valor ‘org.empresa’.

- artifactId: Identificador del proyecto dentro de los proyectos que pertenecen al mismo groupId. Se suele indicar el nombre del proyecto que vamos a desarrollar. Este identificador ha de ser único para el groupId. En nuestro caso establecemos el valor ‘proyecto’.

- version: Versión del proyecto, por defecto se sugiere la versión 1.0-SNAPSHOT, esta suele ser utilizada para las versiones en desarrollo y para las cuales no se ha generádo aún una primera versión. En nuestro caso establecemos el valor por defecto.

- package: Nombre base utilizado para la paquetería del proyecto. A partir de éste se generará la correspondiente estructura de carpetas. En nuestro caso hemos establecido el ‘org.empresa.proyecto’.

Finalmente solicita la confirmación de la información introducida. Y como consecuencia de la confirmación generará el esqueleto del proyecto generado. Este esquema variará según el proyecto modelo indicado y los datos introducidos en la información solicitada anteriormente.

Ejemplo:

proyecto
|-- pom.xml
'-- src
 |-- main
 |   '-- java
 |       '-- org
 |           '-- empresa
 |               '-- proyecto
 |                   '-- App.java
 '-- test
 '-- java
 '-- org
 '-- empresa
 '-- proyecto
 '-- AppTest.java

11 directories, 3 files

POM

En la creación del proyecto, además de crear la estructura de carpetas del proyecto se generó un fichero pom.xml. Este fichero es un XML que contiene datos de configuración de nuestro proyecto, las dependencias del mismo con otros proyectos, y los diferentes plugins de Maven que son utilizados.

El pom generado por defecto es el siguiente:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 <modelVersion>4.0.0</modelVersion>
 <groupId>org.empresa</groupId>
 <artifactId>proyecto</artifactId>
 <packaging>jar</packaging>
 <version>1.0-SNAPSHOT</version>
 <name>proyecto</name>
 <url>http://maven.apache.org</url>
 <dependencies>
 <dependency>
 <groupId>junit</groupId>
 <artifactId>junit</artifactId>
 <version>3.8.1</version>
 <scope>test</scope>
 </dependency>
 </dependencies>
</project>

- modelVersion: Indica la versión del modelo de POM utilizado. Este atributo no ha de ser modificado. Actualmente la versión es la 4.0.0.

- packaging: Sistema de empaquetado del proyecto. En nuestro caso es de tipo jar. En aplicaciones web será del tipo war, ear, rar, aunque también existen otros sistemas como pom, maven-plugin, ejb, par.

- nombre: Nombre utilizado para el proyecto a . Por defecto este nombre coincide con el artifactId, aunque puede ser modificado y no ha de ser único para el groupId. Se utiliza principalmente a la hora de representar la información del proyecto.

- url: URL en la que se encuentra la información relativa al proyecto. Se ha de editar con la URL adecuada.

- dependencies: Conjunto de dependencias que tiene el proyecto. Se ha de indicar el groupId, artifactId y version del proyecto con el cual tiene dependencias. De forma opcional se podrá indicar el ámbito (scope) en el que ha de ser resuelta la dependencia. En nuestro caso se ha añadido la dependencia con junit 3.8.1, aunque esta sólo se añade en el ámbito de los test. Esta dependencia no es obligatoria.

Nota: Las dependencias se buscarán en el repositorio oficial de Maven y en los repositorios declarados en el fichero settings.xml, se descargarán al repositorio local y posteriormente serán resueltas las dependencias del proyecto. En el caso de que una dependencia sea con un proyecto cuya versión sea -SNAPSHOT mirará solamente en los repositorios de desarrollo añadidos en el settings.xml y el repositorio local.

Para más información ver la documentación oficial de Maven:

[2] http://maven.apache.org/pom.html

Añadir el proyecto al repositorio local

Si queremos añadir nuestro jar al repositorio Maven local, sólo hemos de ejecutar (en el directorio del proyecto Maven)

mvn install

Este comando compilará los fuentes del proyecto, empaquetará el proyecto, generando el jar correspondiente y lo añadirá al repositorio local.

Maven con el IDE

Actualmente existen plugins para integrar Maven con diferentes IDEs. A continuación detallo los IDEs más utilizados:

- NetBeans: Este IDE permite importar un proyecto Maven de forma directa desde el propio IDE.

- Eclipse: Mediante la sentencia mvn eclipse:eclipse generamos los ficheros .project y .classpath para utilizar poder importar el proyecto de forma directa desde eclipse.

- Idea: Mediante la sentencia mvn idea:idea se generarán los ficheros necesarios para poder importar el proyecto de forma directa desde Idea.

Sábado,3 enero, 2009 at 19:05 1 Comentario


Feeds

Entradas Recientes

Categorias


Seguir

Get every new post delivered to your Inbox.