jueves, 12 de mayo de 2016

Solución para instalar JPA Diagram Editor en Eclipse Mars

Si tratas de instalar JPA Diagram Editor en eclipse Mars y te devuelve una pantalla en blanco con el error diagramTypeProvider must not be null.  Enhorabuena has descubierto un bug de eclipse Mars.

A continuación te voy a enseñar como repararlo y poder disfrutar del editor de diagramas. Es sencillo, solamente hay que instalar una versión anterior de un componente que se llama Graphiti.

Solución


  1. Clic en menú Help -> Install new software
  2. Clic en botón Add y pega la siguiente URL en el campo Location: http://download.eclipse.org/graphiti/updates/0.11.4/




  • Selecciona los componentes de graphiti 0.11 y pulsa el botón next.





Comenzará la descarga y te advertirá que  la operación por defecto es desinstalar JPA Diagram Editor (si lo tienes instalado) porque es incompatible con la versión que quieres instalar de graphiti 0.11

Acepta y cuando termine te pedirá reiniciar eclipse.

Vuelve al menú de instalación de software y elige esta vez la url de releases de mars como aparece en la imagen. Selecciona JPA Diagram Editor y acepta:






Te pedirá reiniciar nuevamente eclipse cuando termine. Después de eso ya podrás disfrutar de tu Editor de diagramas JPA.


















martes, 19 de enero de 2016

Como instalar Ansible en Windows

Ansible es una potente herramienta para la automatización y aprovisionamiento de imágenes virtuales. Dentro del espacio que ocupan otras herramientas similares, podríamos decir que ansible necesita menos requerimientos, ya que toda la comunicación la puede hacer vía SSH, sin necesidad de instalar agentes, o infraestructuras con pesados servidores y también la sencillez al tratar la configuración mediante ficheros yaml.

Instalación de Ansible en Windows


Ansible funciona solamente con entornos linux, así que eso representa un problema con Windows. Además es una herramienta creada con python, por lo que necesitaremos de este entorno para hacerla funcionar. Por tanto, necesitaremos lo siguiente:


  • Cygwin
  • Intérprete python
  • Cliente git
  • PyYAML
  • Jinja2
  • clonar el repositorio de ansible


En algunos posts de internet la explicación es bastante larga, con muchos pasos en la configuración. Por ejemplo en azavea, o en servercheck.in y por lo tanto propensa a fallos. Sin embargo en stackoverflow encontramos una solución muy elegante y simple.

Primero en lugar de descargar los paquetes desde el instalador de cygwin, vamos a usar  un gestor de paquetes para Cygwin. en este caso atp-cyg.

Desde el terminal de cygwin escribimos lo siguiente:

lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg
install apt-cyg /bin

Una vez instalado podemos ejecutar los siguientes comandos. O bien utilizar el script que proponen en stackoverflow:

#!/bin/sh
type apt-cyg || exit
apt-cyg install git python-{jinja2,six,yaml}
git clone --depth 1 git://github.com/ansible/ansible
cd ansible
PATH+=:~+/bin
export PYTHONPATH=~+/lib
ansible --version

Alternativa


Quizá la mejor alternativa sea la de usar una imagen de Linux para realizar la instalación de ansible y que dicha imagen haga de host, ya que en la documentación de ansible se indica que ni windows, ni cygwin están soportados y no hay previsiones de que se haga. Se puede usar una imagen rápidamente con Vagrant o con Docker.


lunes, 11 de enero de 2016

Como instalar VeeWee en windows

La instalación de VeeWee en windows no es fácil y es propensa a errores, lo que últimamente viene siendo una tónica habitual con windows y herramientas basadas en ruby o node.

En este artículo vamos a tratar de realizar el proceso lo menos doloroso posible y para ello vas a necesitar las siguientes herramientas:
  • Ruby
  • RubyDev
  • Msysgit

Y para hacer el proceso más fácil vamos a instalar también chcolatey.

Instala chocolatey


Ve a la siguiente página: https://chocolatey.org/ y copia sólo uno de los códigos que aparecen (hay dos, uno para la consola normal de windows y otro para powershell). En este caso vamos a hacerlo con la consola normal de windows, por lo que el código sería el siguiente:

@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin



  1. Abre una consola de comandos de windows con permiso de administrador.
  2. Pega el código anterior
  3. Cierra la consola y ábrela de nuevo con permisos de administrador

Listo.

Instala Ruby


Con la consola de comandos (y permisos de administrador) escribe la siguiente sentencia:

choco install -y ruby

chocolatey descargará el ejecutable y lo instalará en la carpeta c:\tools\rubyXX, donde XX se corresponderá con la última versión de ruby. Por ejemplo, en el momento de escribir este artículo la carpeta es c:\tools\ruby22

Instala Ruby DevKit


Ruby Devkit es necesario pero no se puede instalar a día de hoy mediante chocolatey (aunque hay un paquete que así lo indica), porque hay un bug con las versiones de windows en 64 bits y todavía no ha sido resuelto. Así que para que funcione en versiones 64bits de windows hay que hacerlo de manera manual:

Primero accedemos a la página de descargas de Rubyinstaller (http://rubyinstaller.org/downloads/) y al final de la página nos aparecen las versiones del DevKit correspondientes a la versión de ruby instalada.
Así pues si hemos instalado la versión de ruby 2.2.3 podemos descargar la versión 2.0 del devkit para 64 bits. O bien directamente en este enlace: http://dl.bintray.com/oneclick/rubyinstaller/DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe

Es un archivo auto-extraible con 7-zip, por lo que no necesitarás el descompresor, en caso contrario puede escribir previamente choco install -y 7zip.install.

Ejecuta con doble click sobre el archivo descargado (DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe) y selecciona como destino C:\tools\Devkit2

ATENCION: en la ruta que elijas tanto en la instalación de Ruby como Devkit no debe haber espacios en blanco. No lo instales en Program Files, Archivos de Programa o similares.

Configura Devkit


Tras la instalación hay que realizar una configuración tal y como aparece en sus instrucciones: https://github.com/oneclick/rubyinstaller/wiki/Development-Kit#4-run-installation-scripts, que podemos resumir en los siguientes pasos:


  1. Abre una consola de git (Desde el botón de inicio busca en programas, o bien escribe git bash, dependiendo de la versión de windows que tengas)
  2. Sitúate dentro de la carpeta Devkit. Es un shell estilo unix así que tendrás que poner: 
    1. cd /c/tools/Devkit2
  3. Escribe el siguiente código
    1. ruby dk.rb init
  4. Edita con notepad el fichero config.yml generado y escribe una nueva línea con el siguiente código
    1.  - C:/tools/ruby22 (nota que hay un espacio antes del guión y otro después). Que corresponde a la instalación de tu ruby
  5. Cierra el fichero y escribe por consola el siguiente comando para verificar que no hay errores:
    1. ruby dk.rb review
  6. Si todo está bien escribe a continuación el siguiente comando:
    1. ruby dk.rb install
  7. Listo, con esto es suficiente para que funcione el Devkit, si quieres realizar comprobaciones puedes seguir las instrucciones del siguiente enlace: https://github.com/oneclick/rubyinstaller/wiki/Development-Kit#5-test-installation.

Instalar VeeWee

Ha llegado el momento de la instalación de veewee.

  1. Con la consola de Git (Git bash) sitúate dentro de la carpeta c:\tools y escribe:
    1. https://github.com/jedi4ever/veewee.git
  2. Cuando termine la clonación encontrarás una nueva carpeta llamada veewee, sitúate dentro:
    1. cd veewee
  3. Escribe el siguiente comando:
    1. gem install bundler
  4. Cuando termine escribe este otro:
    1. bundle install

Listo, ya has instalado vewee



lunes, 9 de marzo de 2015

Como hacer que funcionen los servicios RESTFul con Eclipse Luna y Glassfish

Si estás usando Eclipse Luna RC1 junto a Glassfish vas a tener algunos problemas por el propio eclipse tal y como comentamos en otro post anterior.

El problema viene porque eclipse RC1 es una Release Candidate, es decir una versión Beta y hay cosas que han cambiado en la versión final SR1.

Supongamos que tienes instaladas las herramientas de Glassfish y quieres hacer un servicio REST con esa versión de eclipse.

Bien pues lo primero que debes hacer es NO utilizar las herramientas de creación de servicios REST de Glassfish. Bueno esto incluso aunque uses la versión SR de eclipse.
Hazlo desde las herramientas de eclipse y cuando termines te encontrarás que no funciona bien y es porque han cambiado en la versión Glassfish 4 la implementación de Jersey y por tanto el servlet de acceso es distinto. Así pues tienes que cambiar en el web.xml el servlet que aparece por este otro:


org.glassfish.jersey.servlet.ServletContainer



miércoles, 4 de marzo de 2015

No funcionan los servicios REST en eclipse luna





Hay diferencias notables entre las distintas versiones de eclipse Luna y algunas se notan una barbaridad.

Una de estas diferencias es en la gestión de los servicios REST, que dependiendo de la versión de Luna que uses aparecen más o menos opciones, o incluso ninguna.

Así pues si intentas crear un servicio REST que has visto en algún tutorial de Internet y no te aparecen las mimas opciones, o menos, o incluso distinto asistente, posiblemente esté usando Eclipse Luna RC1.

Si quieres poder trabajar con servicios REST sin problemas y usando las herramientas de eclipse lo mejor es que migres de versión hacia Eclipse Luna SR1 o bien la SR2.

Puedes encontrar una lista completa de paquetes de eclipse aquí:
http://www.eclipse.org/downloads/packages/all

Recuerda:

  • RC significa Release Candidate y todavía no puede considerarse una versión final
  • SR significa Stable Release y puede usarse con confianza.
  • M significa Milestone y por tanto en fase de desarrollo y poco estable.

El número a continuación hace referencia a la revisión en la que se encuentra. Así SR2 es más estable que SR1, pero en cualquier caso huye de las versiones M y casi con toda seguridad de las RC, o por lo menos cámbiala en cuanto aparezca una SR.

martes, 3 de marzo de 2015

Solución a Eclipse no importa proyectos EJB desde git o github

A veces al importar un proyecto desde un repositorio git o github.com nos encontramos con un problema y es que se importa mal en eclipse, sobretodo cuando el proyecto es de tipo EJB o de tipo EAR.

El problema viene porque tanto el proyecto EAR como el EJB necesitan de una serie de directorios de configuración en eclipse aunque estén vacíos y sin ese directorio eclipse no logra abrir el proyecto o si lo abre no lo trata como un proyecto Java JEE y comienza a dar excepciones y la pestaña de mensajes se llena de errores.

El asunto es fácil cuando se sabe, y es que git no guarda versiones de directorios vacíos de ahí el problema.

Así que el flujo de trabajo es el siguiente:


  1. Creamos un proyecto EJB o EAR y le añadimos el EJB y el WAR en eclipse.
  2. Creamos los componentes
  3. Creamos el repositorio local
  4. Hacemos el primer commit
  5. Lo subimos a un repositorio global como github, bitbucket o uno de nuestra empresa
  6. Un compañero hace clone del proyecto
  7. FALLA


Y es debido al asunto anterior, git no versiona directorios vacíos y necesarios para eclipse.

La solución es chapucera, pero simple y efectiva.
En esos directorios vacíos y necesarios para eclipse simplemente hay que agregar dentro un fichero vacío, sin contenido y ya está solucionado. Se incorpora ese fichero en el siguiente commit y por tanto git mantendrá también el directorio que lo contiene.

Es común informar de alguna manera que el fichero no debe borrarse, así pueden encontrar esos ficheros vacíos de contenido con el nombre: keep.

Mi recomendación es que para evitar estos problemas, como otros asociados con el trabajo de los proyectos nativos de eclipse, como versiones de java, problemas de classpath, codificación de caracteres y un largo etcétera es que uses maven.

lunes, 2 de marzo de 2015

Resolver el error 404 con enlaces permanentes de wordpress

Un error común es encontrar un error 404 "File not found" tras configurar los enlaces permanentes de wordpress (permalinks), donde las opciones predeterminadas funcionan pero las configuraciones a medida no y ya que los permalinks suelen ser una parte fundamental del SEO marketing vamos a tratar de ayudar.

Las siguientes recomendaciones pueden ayudarte a resolver el problema:

1º Opción


Asegúrate de tener activado el módulo mod_rewrite de apache.
Para saber si lo tienes activo puedes crear una página php. Llámala phpinfo.php y escribe el siguiente código en ella:
<?php phpinfo(); ?>

Accede a la dirección http://tuservidor.com/phpinfo.php  En el resultado observa la parte de módulos a ver si aparece como activo.

Si no es así debes activarlo si tienes acceso a tu host, o bien solicitar a tu proveedor que lo active.

2º Opción


Si lo tienes activo y no funciona puede que tu wordpress no pueda escribir en tu fichero .htaccess, así que comprueba los permisos necesarios para que wordpress pueda, por ejemplo prueba poniendo permisos 0775 al fichero .htaccess y repite la configuración de permalinks.

O bien copia y pega el siguiente código en el fichero:


RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]


Es posible que también tengas que cambiar los permisos del fichero index.php

3ª Opción


Si con esto tampoco funciona, la solución puede que caiga en el lado del servidor apache. Deberías poder abrir el fichero de configuración apache2.conf  (depende del sistema operativo, pero una ruta común en sistemas linux es: /etc/apache2/apache2conf y esto supone que tienes permisos y acceso completo a tu servidor, si usas una cuenta de hosting deberías ponerte en contacto con tu administrador) y buscar el siguiente código:

Options Indexes FollowSymLinks
AllowOverride None
Require all granted

y cambiar la opción por esta: 

AllowOverride All

El resto déjalo como está y todo esto asumiendo que el directorio de lectura donde tu apache busca los documentos sea /var/www/ 

4ª Opción


A veces se ha encontrado algunos fallos en las distribuciones de wordpress o de algunos plugins y este problema se ha resuelto actualizando a las últimas versiones. Así que mantén un ojo abierto sobre tus actualizaciones.

Articulos relacionados