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

miércoles, 1 de julio de 2015

¿Como hacer debug remoto con el Tomcat y el Eclipse?

¿Como iniciar el Tomcat 7 en modo debug?

En windows primero tienen que estar seteadas las variables:

set JPDA_ADDRESS=8000
set JPDA_TRANSPORT=dt_socket

Luego vamos al directorio "bin" del tomcat y ejectamos

%TOMCAT_HOME%/bin/catalina.bat jpda start


En UNIX, es como siguie, exportando las variables:


export JPDA_ADDRESS=8000
export JPDA_TRANSPORT=dt_socket

Y para iniciar al tomcat en modo debug ejecutamos:

%TOMCAT_HOME%/bin/catalina.sh jpda start




¿Como hacer debug remoto con el Eclipse? 


Para hacer debug remoto de un proyecto es necesario que el Tomcat esté levantado en modo debug.


En la primera parte del post, ya explicamos como se levanta el tomcat en modo debug.
En esta segunda parte vamos a ver los paso que tenemos que hacer en el eclipse


1. En el eclipse vamos a Run > Debug Configuration




2. Seleccionamos  Remote Java Application y New




3. Completamos los datos seleccionando a nuestro proyecto java. El puerto 8000 es el puerto default para debug Remoto:




4. Y en la pestaña Source tenemos que vincular los fuentes: A través del botón Add... accedemos a las opciones:




5. Cuando aceptamos todo y si está el Tomcat levantado, va a intentar establecer la conexión para permitirnos hacer el debug remoto:




6. En la perspectiva del Debug podemos ver que la conexión quedo establecida en el puerto 8000 Y también tenemos la opción de desconectar la aplicación a través del botón de Debug:




A continuación podremos agregar breakpoints en métodos de nuestro código fuente, que al ser invocados en tiempo de ejecución nos permitirá hacer el típico trabajo de debug.



Un poco de Feedback


  • ¿Pudieron lograr conectarse al Tomcat en modo debug?
  • ¿Habría que analizar algún punto mas?










domingo, 28 de junio de 2015

Como cambiar el @author en eclipse

Para cambiar el @author en eclipse


Abrimos Eclipse Preferences, en el filtro de Templates seleccionamos Java->Code Style->Code Templates




Editamos el “Pattern”








Y a partir de ahora cuando creamos una nueva clase cambia el @author de la misma:







Con esa misma estrategia podemos cambiar otros atributos en el eclipse.





sábado, 27 de junio de 2015

¿Como agregamos el Spring Tool Suite (STS) al eclipse?

En Help > Eclipse Marketplace buscamos "Spring Tool Suite (STS) for Eclipse"



 Presionamos el boton de Install:


Aceptamos TyC y comienza a instalar. Después solicita un restar del eclipse luna:







Tenemos que reiniciar el eclipse:




Luego de reiniciar tenemos el STS instalado sobre el Eclipse:



Y trabajamos con el STS:








A veces hay una sutil diferencia y esta forma de obtener el STS puede ser preferible a descargar el STS directamente.






viernes, 26 de junio de 2015

Como crear un proyecto web con Maven y STS (Spring Tool Suite)

Para crear un proyecto web Maven con STS:


Luego:


A continuación:







Seguimos con:
com.javame
myApiRest


Tenemos el pom.xml generado a partir del arquetipo:


Agregamos los fuentes java:



Y también la dependencia de servlet y el plugin del tomcat:





 <!-- Servlet Library -->
 <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
    <scope>provided</scope>
 </dependency>

 <plugins>
     <plugin>
         <groupId>org.apache.tomcat.maven</groupId>
         <artifactId>tomcat7-maven-plugin</artifactId>
         <version>2.2</version>
     </plugin>
 </plugins>

Agrgamos la configuracion para ejecutar el tomcat:


Nueva


Valores:
Run configuration
Browse worspace
goal: tomcat:run -X

Luego Apply & Run



Y la aplicación queda levantada en:

http://localhost:8080/myApiRest

Para detener el Tomcat simplemente hacemos uso del botón stop.

Un poco de Feedback...


  • ¿Les funcionó?
  • ¿Pudieron armar su proyecto con Maven, Tomcat7 y STS?





miércoles, 24 de junio de 2015

¿Como instalar nuestra aplicación en Tomcat7 con Maven y STS?

¿Como hacer el deploy en Tomcat7 con Maven y STS?



En el caso que utilicemos una instancia de tomcat separada del STS, podemos instalar el war de nuestra aplicación web de la siguiente manera

Primero en el POM.XML tenemos que tener el plugin del tomcat7-maven-plugin


<plugins>

 <plugin>
  <groupId>org.apache.tomcat.maven</groupId>
  <artifactId>tomcat7-maven-plugin</artifactId>
  <version>2.2</version>
  <configuration>

   <server>localhost</server>
   <url>http://localhost:8080/manager/text</url>
   <path>/myAPP</path>
   <port>8080</port>
   <username>admin</username>
      <password>admin</password>
   <warFile>target\myAPP-1.0.war</warFile>
   <update>false</update>
  </configuration>
 </plugin>

</plugins>


En el tomcat7 tenemos que tener habilitado los perfiles del administrador:
c:\apache-tomcat-7.0.62\conf\tomcat-users.xml


<tomcat-users>  

  <role rolename="manager-gui"/>
  <role rolename="admin-gui"/>
  <role rolename="manager-script"/>
  <role rolename="manager"/>
  <user username="admin" password="admin" roles="admin-gui,admin,manager,manager-gui,manager-script,manager-jmx,manager-status"/>

</tomcat-users>


Luego Levantamos el tomcat7:
cd c:\apache-tomcat-7.0.62\bin\

catalina run


Podemos hacer el deploy del war activando la regla del pom.xml

mvn tomcat7:deploy

lunes, 22 de junio de 2015

Integrando STS (Spring Tool Suite) con el CVS

El STS (Spring Tool Suite) trae integrado el soporte par Git, pero en caso que necesitemos otro controlador de versiones como el antiguo CVS tenemos que recurrir a la instalación de un plugin.

Uno de los plugin mas populares que nos permitirá conectarnos al CVS es es Eclipse CVS Client, veamos como sería la instalación de este plugin en IDE Spring Tool Suite

Los pasos son:

Help > Install New Software ..





Elegimos Eclipse CVS Client










Continuar:















Después de reiniciar al STS observamos que tenemos disponible la perspectiva del CVS





Reiniciamos al STS (Spring Tool Suite) para ver la integración con el CVS






Y podemos subir el proyecto al CVS:



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.