Mostrando entradas con la etiqueta maven. Mostrar todas las entradas
Mostrando entradas con la etiqueta maven. Mostrar todas las entradas

2012-05-18

Añadir las librerias de springframework usando maven

La forma más sencilla de añadir las librerías de spring a nuestro proyecto web es usando maven.

Lo único que hay que hacer es añadir la dependencia "spring-web" al fichero pom.xml de maven.

El fichero en cuestión quedará algo como:

<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>com.nioos.api</groupId>
  <artifactId>NioosApiLogin</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>Nioos Login Webapp</name>
  <url>https://api.nioos.com/NioosApiLogin</url>
  <properties>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  <build>
    <finalName>NioosApiLogin</finalName>
  </build>
  <dependencies>
      <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-webmvc</artifactId>
          <version>3.1.1.RELEASE</version>
      </dependency>
  </dependencies>
</project>

Esta única dependencia añadirá todo el resto de librerías necesarias para nuestro proyecto.

2012-03-31

Automatizar las fechas del archivo sitemap.xml con maven

Es posible automatizar la fechas del archivo sitemap.xml usando maven.

Para esto debemos crear una nueva carpeta de recursos web (por ejemplo "src/main/webresources") donde dejaremos una versión modificada de nuestro fichero sitemap.xml.

Este fichero sitemap.xml ya no contendra las fechas explícitamente, sino que tendrá la variable ${timestamp}:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    <url>
        <loc>http://nioos.com</loc>
        <lastmod>${timestamp}</lastmod>
    </url>
    <url>
        <loc>http://nioos.com/login.html</loc>
        <lastmod>${timestamp}</lastmod>
    </url>
    <url>
        <loc>http://nioos.com/sitemap.html</loc>
        <lastmod>${timestamp}</lastmod>
    </url>
    <url>
        <loc>http://nioos.com/politica-privacidad.html</loc>
        <lastmod>${timestamp}</lastmod>
    </url>
    <url>
        <loc>http://nioos.com/condiciones-servicio.html</loc>
        <lastmod>${timestamp}</lastmod>
    </url>
    <url>
        <loc>http://nioos.com/politica-contenido.html</loc>
        <lastmod>${timestamp}</lastmod>
    </url>
</urlset>

La variable ${timestamp} la definiremos en el fichero de configuración de nuestro de maven, al igual que nuestra nueva carpeta de recursos:

<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>ui.nioos.com</groupId>
  <artifactId>NioosUI</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  <name>NioosUI Webapp</name>
  <url>http://www.nioos.com</url>
  <!--  -->
  <properties>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      <timestamp>${maven.build.timestamp}</timestamp>
      <maven.build.timestamp.format>yyyy-MM-dd</maven.build.timestamp.format>
  </properties>
  <!--  -->
  <build>
    <finalName>NioosUI</finalName>
    <!--  -->
    <plugins>
        <plugin>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.2</version>
            <configuration>
                <webResources>
                    <resource>
                        <filtering>true</filtering>
                        <directory>src/main/webresources</directory>
                    </resource>
                </webResources>
            </configuration>
        </plugin>
    </plugins>
    <!--  -->
  </build>
  <dependencies>
      <dependency>
          <groupId>net.sf.ehcache</groupId>
          <artifactId>ehcache-web</artifactId>
          <version>2.0.4</version>
          <scope>runtime</scope>
      </dependency>
  </dependencies>
</project>

Aquí hemos definido las propiedades:
<properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  <timestamp>${maven.build.timestamp}</timestamp>
  <maven.build.timestamp.format>yyyy-MM-dd</maven.build.timestamp.format>
</properties>

que posteriormente serán usadas en el nuevo fichero sitemap.xml, y también hemos configurado el plugin war de maven para que actualize los ficheros de la nueva carpeta con la fecha de la última compilación:
<plugins>
  <plugin>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.2</version>
    <configuration>
      <webResources>
        <resource>
          <filtering>true</filtering>
          <directory>src/main/webresources</directory>
        </resource>
      </webResources>
    </configuration>
  </plugin>
</plugins>

De esta forma cada vez que compilemos el proyecto web usando maven el fichero sitemap.xml estará actualizado con la fecha de la última compilación de nuestro proyecto y los buscadores podrán actualizar sus índices de búsqueda de una forma más sencilla.

2012-02-16

Añadir una dependencia con Maven

Añadir una dependencia en nuestro proyecto usando Maven es muy sencillo si conocemos los parámetros de la dependencia que queremos añadir:
  • Group Id
  • Artifact Id
  • Version
Si no conocemos estos parámetros, que es lo normal, habitualmente los encontraremos en la sección de descargas de la librería que queremos añadir, o bien, en algún servicio de búsqueda en maven como puede MvnRepository.

Como veis es algo bastante sencillo.


2011-08-30

Crear un proyecto web con Maven y eclipse STS

Usando SpringSource Tool Suite es muy sencillo crear un nuevo proyecto web con Maven.

Sólo debemos ir al menú
File - New - Project... : Maven - Maven Project

Al seleccionar el "archetype" podemos filtrar por "web", después elegiremos "maven-archetype-webapp" y rellenaremos los parámetros "Group Id" y "Artifact Id".


2011-08-27

Configurar SpringSource Tool Suite para usar Maven

Cuando usamos eclipse o STS con Maven es posible que aparezca un warning al iniciar el entorno de desarrollo diciendo que algunos plugins de Maven no funcionarán correctamente ya que nuestro entorno de desarrollo se ejecuta sobre un JRE de Java en lugar de sobre un JDK.

Para evitar esto podemos modificar el fichero "eclipse.ini" (para eclipse) ó "STS.ini" para SpringSource Tool Suite y añadirle las siguiente dos líneas:

-vm
C:\Archivos de programa\Java\jdk1.6.0_19\bin\javaw.exe

(el path de java dependera de la versión que tengais instalada en vuestro sistema)

De esta forma el entorno de desarrollo arrancará usando el JDK indicado, Maven podrá hacer uso de todos los plugins y no volvera a aparecer el warning.