Android desde cero

Anímate a realizar con el Android Studio tu primera aplicaión móvil

Abre el eclipse y escribe el mas simple "Hola Mundo!"con Spring MVC

Sigue 8 simples pasos para obtener al proyecto mas simple de Spring MVC con Eclipse y Maven.

Como subr una app al Google Play

Te mostramos en tres post, como subir una app en Android al Google Play

jueves, 5 de marzo de 2015

¿Como importar un archivo al repositorio de Maven?

Comando Maven para importar un archivo al repositorio de Maven Local



mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>

Ejemplo:

mvn install:install-file 
 -Dfile=c:\eclipse\workspace\myApp.war\WEB-INF\lib\MIJAR_Auth-1.13_145454.jar  
 -DgroupId=com.mycompany -DartifactId=\MIJAR_Auth             
 -Dversion=1.13_145454  -Dpackaging=jar


Basado en:

https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html


Apache®, Apache Maven® logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries.


martes, 3 de marzo de 2015

Comandos útiles para comenzar con Maven

Basado en:

Maven in 5 Minutes

Crear un nuevo proyecto Java con Maven

mvn archetype:generate -DgroupId=com.mycompany -DartifactId=myApp -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

Crear un nuevo proyecto web con Maven

mvn archetype:generate -DgroupId=com.mycompany -DartifactId=myApp -DarchetypeArtifactId=maven-archetype-webapp  -DarchetypeGroupId=org.apache.maven.archetypes  



Compilamos y ejecutamos los test ubicados en src/test

Tenemos:

  • src/main/java/com/mycompany/Main.java
  • src/test/java/com/mycompany/TestMain.java

Ejecutamos:

  • mvn test-compile
  • mvn test

Convertir un proyecto de Maven en un proyecto de Eclipse:


  • mvn eclipse:eclipse





¿Como anular los test con Maven?

Para anular la ejecución de los test en cada compilación:


   <build>

      <plugins>

         <!-- Para hacer skip de los TEST-->
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.18.1</version>
            <configuration>
               <skipTests>true</skipTests>
            </configuration>
         </plugin>

      </plugins>

   </build>   



Apache®, Apache Maven® logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries.

lunes, 2 de marzo de 2015

¿Como armar un EAR con Maven?

Para armar un EAR con Maven podemos utilizar este POM de ejemplo:

Observar que elegimos tener el war expandido:
<unpack>true</unpack>

Hay que previamente instalar en Maven el WAR:

    mvn install:install-file
         -Dfile=c:\javaen\desa\myApiRest\target\myApp-1.0.war 
         -DgroupId=com.mycompany.myApp_war
         -DartifactId=myApp 
         -Dversion=1.0
         -Dpackaging=war





Luego el siguiente pom.xml es valido


<?xml version="1.0" encoding="UTF-8"?>
<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.mycompany</groupId>
   <artifactId>myApp.ear</artifactId>
   <packaging>ear</packaging>
   <version>1.0</version>
   <name>myApp Maven Webapp</name>
   <url>http://maven.apache.org</url>
   <properties>
      <spring-security.version>3.2.1.RELEASE</spring-security.version>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      <spring.version>4.1.6.RELEASE</spring.version>
      <jdk.version>1.6</jdk.version>
      <java-version>1.6</java-version>
   </properties>
   <dependencies>
      <dependency>
         <groupId>com.mycompany.myApp_war</groupId>
         <artifactId>myApp</artifactId>
         <version>1.0</version>
         <type>war</type>
      </dependency>
   </dependencies>
   <build>
      <finalName>myApp</finalName>
      <plugins>
         <!-- Plugin Para armar un ear ... -->
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-ear-plugin</artifactId>
            <version>2.10</version>
            <configuration>
               <modules>
                  <webModule>
                     <groupId>com.mycompany.myApp_war</groupId>
                     <artifactId>myApp</artifactId>
                     <uri>myApp.war</uri>
                     <bundleFileName>myApp.war</bundleFileName>
                     <contextRoot>/myApp</contextRoot>
                     <unpack>true</unpack>
                  </webModule>
               </modules>
            </configuration>
         </plugin>
      </plugins>
   </build>
</project>





Apache®, Apache Maven® logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries.

domingo, 1 de marzo de 2015

¿Como armar WAR y EAR simples con Maven?

Para armar el War más simple con Maven y luego como obtener al EAR mas simple a partir del War creado, todo esto utilizando Maven:

Para armar un WAR con Maven hay que ejecutar el comando:


mvn archetype:generate
-DarchetypeGroupId=org.apache.maven.archetypes
 -DarchetypeArtifactId=maven-archetype-webapp
-DgroupId=com.javaen
-DartifactId=myWar









Ejecutamos el comando Maven para generar el WAR:



Nos pide que ingresemos la versión y luego confirmamos:


Nos genera la siguiente estructura para proyector tipo WAR:


A continuación compilamos el proyecto y lo empaquetamos como un war:

mvn package war:war


Y observamos que en el directorio target tenemos el WAR creado:

 





¿Como se puede continuar?



Se podrían hacer dos cosas:
  • instalar el war en el Tomcat para probar su correcto funcionamiento
  • Instalarlo dentro de un EAR


Para poder instalarlo dentro de un EAR, hay que primero instalar el WAR dentro de nuestro repositorio MAVEN para que luego podamos recuperarlo cuando ejecutemos el pom.xml del EAR.

El comando MAVEN que instala el war dentro de nuestro repositorio maven es:


mvn install:install-file

-Dfile=c:\javaen\desa\myWar\myWar\target\myWar.war

-DgroupId=com.javaen

-DartifactId=myApp

-Dversion=1.0  
-Dpackaging=war


Vamos a necesitar un nuevo pom.xml para armar el EAR.
Observemos que lo dejaremos en otro directorio nuevo y vacío:


c:\javaen\desa\myWar\myEar\pom.xml


El contenido de este pom.xml para el EAR es el siguiente:


IMPORTANTE: Observar en el pom.xml que dice:

    <unpack>false</unpack>
Esto significa que el WAR dentro del EAR no va a estar expandido.
En algunos Application Server como Websphere es necesario armar los EAR de esta manera, con el WAR enpaquetado.




<?xml version="1.0" encoding="UTF-8"?>
<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.javaen</groupId>
   <artifactId>myEar.ear</artifactId>
   <packaging>ear</packaging>
   <version>1.0</version>
   <name>myWar Maven Webapp</name>
   <url>http://maven.apache.org</url>
   <properties>
      <spring-security.version>3.2.1.RELEASE</spring-security.version>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      <spring.version>4.1.6.RELEASE</spring.version>
      <jdk.version>1.6</jdk.version>
      <java-version>1.6</java-version>
   </properties>
   <dependencies>
      <dependency>
         <groupId>com.javaen</groupId>
         <artifactId>myApp</artifactId>
         <version>1.0</version>
         <type>war</type>
      </dependency>
   </dependencies>
   <build>
      <finalName>myWar</finalName>
      <plugins>
         <!-- Plugin Para armar un ear ... -->
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-ear-plugin</artifactId>
            <version>2.10</version>
            <configuration>
               <modules>
                  <webModule>
                     <groupId>com.javaen</groupId>
                     <artifactId>myApp</artifactId>
                     <uri>myWar.war</uri>
                     <bundleFileName>myWar.war</bundleFileName>
                     <contextRoot>/myWar</contextRoot>
                     <unpack>false</unpack>
                  </webModule>
               </modules>
            </configuration>
         </plugin>
      </plugins>
   </build>
</project>





Luego ejecutamos

mvn package ear:ear


Y observamos el EAR generado:

Y de esta forma, no solamente recorrimos los pasos para generar un WAR, sino que también lo agregamos dentro de un EAR




Apache®, Apache Maven® logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries.