Archive

Posts Tagged ‘eclipse’

Si no arranca eclipse

June 11, 2009 2 comments

Espero que les sirva este post para los que usan eclipse.
Si no arranca su eclipse por que hicieron alguna actualizacion u otro, podrian probar siguiendo estos pasos de NUESTRO AMIGO (slack).

lunes 13 de abril de 2009
Error al arrancar Eclipse
Hola, en algunos casos el sistema operativo se marea con la jvm que ocupa, esto generalmente ocurre cuando hacemos alguna actualización de algún paquete con el gestor o comando alternatives.
Y cuando queremos arrancar eclipse desde el lanzador del escritorio, simplemente no lo abre. y comenzamos con cuestionamientos… jajajaj…, en este caso lo logico es que queramos abrirlo por consola con el comando

slack@zion:programas/eclipse$ ./eclipse
LOG: [0xb7eb66b0] exception thrown while VM is initializing:
LOG: [0xb7eb66b0] NULL: java.lang.Object
LOG: [0xb7eb66b0] Aborting…
Aborted

desplegando el mensaje de error que se ve, lo bueno de esto es que existe una rapida solución.

En la misma consola ejecutamos el siguiente comando para comprobar las jvm disponibles para usar en el sistema,

slack@zion:~/programas/eclipse$ sudo update-alternatives –config java
[sudo] password for slack:

Hay 2 alternativas que proveen `java’.

Selección Alternativa
———————————————–
1 /usr/lib/jvm/java-1.5.0-sun/jre/bin/java
*+ 2 /usr/lib/jvm/java-6-cacao/jre/bin/java

Pulse para mantener el valor por omisión [*] o pulse un número de selección: 1
Se utiliza `/usr/lib/jvm/java-1.5.0-sun/jre/bin/java’ para proporcionar `java’.

Luego comprobamos que la opcion seleccinada sea la que tome el sistema como version de uso para java.

slack@zion:~/programas/eclipse$ java -version
java version “1.5.0_16”
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_16-b02)
Java HotSpot(TM) Server VM (build 1.5.0_16-b02, mixed mode)

Con esto debieramos tener solucionado el tema de incompatibilidad de jvm con eclipse, al menos.

Saludos y Suerte !!

Instalar el plugin SimpleTest para Eclipse

January 4, 2009 1 comment

Por si a caso usted quiere hacer pruebas con SimpleTest (un framework para pruebas unitarias en PHP) y tiene Eclipse 3.2 instalado, una manera simple de probarlo es de instalar el plug-in SimpleTest para Eclipse. Este articulo prueba de simplificarle la tarea, y esta basado en la página en Inglés: http://simpletest.org/en/extension_eclipse.html

Tengo entendido que el aporte mayor de SimpleTest en comparación con PHPUnit (o PHPUnit2) es que se puede usar un “navegador virtual” que permite de hacer pruebas directamente con resultados HTML de escripts PHP. Un poco (pero no enteramente) como lo hace ahora Selenium IDE, dentro de Firefox, pero en este caso no necesitamos un navegador, lo que facilita considerablemente las pruebas automatisadas de interfaz.

Primero, se tiene que seguir, dentro de Eclipse, los menus Help > Software Updates… y seleccionar la pestaña Available Software.

Como usted seguro no habrá probado anteriormente de instalarlo, tiene que agregar un site de descarga del plugin. Haz click por el botón Add Site… y entra como URL http://www.simpletest.org/eclipse/ y valide.

Esto brinda el URL http://www.simpletest.org/eclipse/ en la lista a la izquierda. Seleccionelo y se abre, ofreciendo una categoría Uncategorized. Seleccione esta categoría y en particular el Simpletest plug-in que hay a dentro, y haz click por Install…

Después de confirmaciones de licencia (es la licencia Eclipse que se accepta para el plug-in, no para el SimpleTest (que es bajo licencia LGPL), el sistema les pide para reiniciar Eclipse. No se lo que occurre cuando no se reinicia pero tengo entendido que no es recomendable.

Reinicia el sistema y… no aparece nada nuevo! Por supuesto, el SimpleTest plug-in es un plug-in chiquito, y no hace mucho, pero ante todo se tiene que configurar. Para esto, vamos a Window > Preferences > SimpleTest y configuramos los 3 elementos necesarios: Php.exe file (que bajo un sistema Ubuntu será /usr/bin/php si usted ha instalado el paquete php5-cli), php.ini file (que será, bajo el mismo sistema, /etc/php5/cli/php.ini) y Test File Suffix (que será simplemente .php pero podría ser .test.php si todos sus tests están con esta extensión). Los demás parámetros no son necesarios.

Apunte que el SimpleTest plug-in en realidad instala el SimpleTest entero, y lo instala en una carpeta de Eclipse y agrega, en el contexto de Eclipse, esta librería dentro del include path. Esto quiere decir que si pruebo de cargar SimpleTest dentro de mis escripts de test, no va a funcionar (doble declaración). Lo vemos mas allá.

Ahora que tengo configurado mi plug-in, que puedo hacer? Pues no mucho. Lo único que puedo hacer es hacer click derecho por algún script que tengo y decir Run as… > SimpleTest. Y esto lanzará mi escript de test incluyendo la librería SimpleTest por defecto. Lo interesante ahí es que el output de esta prueba aparece directamente en una nueva zona de Eclipse que se dedica a eso.

Por ejemplo, quiero empezar a crear pruebas simples para Dokeos. Donde inicio mi trabajo?

Pues la lógica primera de SimpleTest y PHPUnit incita a tener una carpeta aparte que se llame tests y dentro de cual voy a tener todas mis pruebas, con un fichero (una clase) diferente para cada tipo de prueba. Una clase de pruebas podrá probar muchas cosas, pero se considera que una clase debería tener solo la prueba de una funcionalidad (sea una funcionalidad simple pero importante, o otra mucho más compleja que incluye otras, pero nunca dos pruebas que no tienen nada que ver dentro de una sola clase).

Usando Eclipse, creo una carpeta tests dentro de la cual creo mi primer fichero: dummy.test.php

<?php
//require_once(‘simpletest/autorun.php’);

class TestDummy extends UnitTestCase
{
function testDummyValues()
{
$this->assertFalse(false);
$this->assertTrue(false);
}
}
?>

He tomado un ejemplo muy básico aquí, que no tiene nada que ver con Dokeos. Usted se dará cuenta que tengo un require_once comentado en primera línea. Esto es lo que le comentaba más arriba, de que Eclipse ya incluye la librería SimpleTest, por eso no se tiene que incluir más.

Después declaro una clase que extende la clase UnitTestCase (hay otras clases de base que extender, por ejemplo para pruebas navegador) y un método testDummyValues() que va a hacer las pruebas realmente.

Ahora, esto es mi prueba básica. Para ver como se comporta SimpleTest, lo único que me falta es hacer click-derecho por el script y Run as > SimpleTest y… ya tengo mi salida (como ustedes se imaginarán mirando al ejemplo, la primera prueba resulta bien, la segunda no:

Salida de SimpleTest plug-in en Eclipse

Salida de SimpleTest plug-in en Eclipse

Me retorna el número de fallas de mis pruebas, así que el número de errores generadas, y me indica donde ha occurrido este error.

A cambio, si todo funciona, me sale esto (yo he desplegado los detalles pero sino solo indica el nombre del fichero de la prueba):

SimpleTest output on success

SimpleTest output on success

Ya esta para esta vez. Mas allá probablamente explicaré como hacer una prueba de funcionalidad con Dokeos…

Puede seguir la guía simple en Inglés de inicio con SimpleTest aquí, pero se supone que conoce las bases de unit testing con PHP…

Inspeccionar funciones en PHPEclipse

Luego de descargar un proyecto PHP desde un repositorio SVN en Eclipse. (Aqui un Howto para descargar Dokeos desde su servidor SVN). Sucede el clásico error de querer inspeccionar includes, funciones, clases en PHP sin éxito. El motivo es que el archivo .project de nuestro proyecto no está asociado con un proyecto PHP según Eclipse.

En otras palabras, se debe modificar el archivo .project agregando el siguiente código:

<buildSpec>
<buildCommand>
<name>net.sourceforge.phpeclipse.parserbuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>net.sourceforge.phpeclipse.phpnature</nature>
</natures>

Esto indica a Eclipse que nuestro proyecto es un PHP Project. Voila!

Visto aquí

30 días con Zend Studio

July 23, 2008 2 comments

Cansado de tener problemas con la combinación de Eclipse v3.2, PHPEclipse y Subclipse v1.1
decidí probar la versión de prueba de 30 días del Zend Studio for Eclipse.

Los problemas básicamente de Eclipse 3.2 eran un conflicto entre el PHPEclipse y el Subclipse.
Para solucionar de una manera poco elegante pero práctica y rápida desintalé el Subeclipse y comencé a mandar los commits de Dokeos por consola (trabajo sobre una Ubuntu 8.04)

Pero los problemas no iba a parar, al crear un nuevo proyecto en Eclipse, apareció un error inexplicable y nunca más cargo. Es por eso que opté por probar el Zend Studio.

Aqui mis comentarios:

Lo malo

  1. La función Ctrl-Click para inspeccionar funciones, constantes, includes, etc no funciona.
  2. No existe una lista de las funciones declaradas en un archivo PHP. Hablo sobre la vista “Outline”.
  3. Al igual que en PHPEclipse no existe la selección vertical. Algo MUY importante que se debería incluir en este tipo de IDEs. Por ejemplo, las versiones de Delphi y de Notepad++ lo tienen.
  4. En la vista “PHPExplorer” (donde se muestra la lista de archivos) se observa el número de Commit pero no la fecha ni el usuario que hizo el commit.
  5. 304 Mb la descarga!
  6. ¿Olvide decir que cuesta $399 dólares?
    Según el sitio web: $399 for 1 year subscription to support / $717 for 3 years subscription to support

Lo bueno

  1. PHP Functions: Biblioteca de funciones de PHP, ahorra tiempo en lugar de visitar http://www.php.net
  2. El SVN SI funciona.
  3. Ningun crash hasta el momento.
  4. Fácil de instalar unos “10 clicks”. No hubo necesidad de instalar otros plugins.
  5. Lee muy bien los .js. En PHPEclipse es necesario instalar otro plugin.
  6. Incluye la funcionalidad “Create NEW SQL connection” un wizard para crear cadenas de conexión, aunque no lo utilicé porque en Dokeos ya existe una clase “Database”.
  7. Y muchos pequeñas cosas que podrían facilitar el desarrollo desde cero (from scratch) aunque en mi caso no fueron usadas debido a que Dokeos ya tiene incluidas clases para manejar la BD, la Seguridad, las Sessiones, etc, etc.

La versión utilizada fue:
Zend Studio for Eclipse Professional Edition Build ID: 20080601

Conclusiones

El Zend Studio es un buen producto, tiene algunas funcionalidades que harán más rápido el proceso de desarrollo, sin embargo, por $399 uno espero algo mucho mejor. Si tan solo el PHPEclipse. Pronto una reseña de Eclipse Ganymede la última versión de Eclipse.

Actualización: Pueden ver este post para poder instalar Eclipse 3.4 Ganymede + PHPEclipse + Subeclipse

HOWTO Install PHP-Eclipse for Eclipse 3.1 on Debian Sarge

October 28, 2005 8 comments
This article was first written in October 2005 for the BeezNest technical
website (http://glasnost.beeznest.org/articles/296).

Introduction

This article helps installing Eclipse 3.1 and the PHPEclipse plugin on a Debian Sarge install. This means installing the basic software, installing the PHP plugin into it, creating a new project and testing the debug functions.

Eclipse 3.1

There is no (official) package for Eclipse 3.1 on Debian Sarge (Sid has version 2.1?), so this install procedure is based on the binary software available for Linux x86 here.

Download the software and uncompress it (it uncompresses in a directory named eclipse, so you can uncompress it wherever you want to) and move into the eclipse directory.

$ tar zxvc eclipse-SDK-3.1.1-linux-gtk.tar.gz
$ cd eclipse

Quick start Eclipse by launching the eclipse executable

$ ./eclipse

Decide which directory will be your workspace. The workspace directory is where Eclipse files are kept, not where your source files are kept, so don’t use the sources directory as this will conflict with projects you might create later.

Select “Workbench” (unless you want to learn more about anything) in the intro screen.

You are now inside the IDE.

PHP Plugin

To get an open-source free sofware PHP plugin, go to the SourceForge page for the plugin and download the plugin for Eclipse 3.1 stream (not official by the time of writing).

Once downloaded, unzip the file in the newly-created eclipse directory, they should be written into the plugins and features directory directly.

$ unzip phpeclipse-1.1.6-unofficial.zip

Now start Eclipse again

$ ./eclipse

Inside Eclipse,

  • use File > Import > External Features
  • select the location (normally the Eclipse directory) and click Next
  • click “Select All”
  • click “Finish”

Then import plugins in the same way

  • use File > Import > External Plug-ins and Fragments
  • Click “Next”
  • Click “Add All” (or only select the ones coming from sourceforge if you want to restrict to the minimum)
  • Click “Finish”

Create a PHP Project

  • use File > New > Project…
  • Click “PHP”
  • select “PHP Project” and click “Next”
  • give a project name
  • uncheck the box (if your source code directory already exists) and enter the path to your sources for this project
  • click “Finish”

You now have a new project appearing in your left navigation bar.

Setting up PHP interpreter

For some reason, the plugin expects to find the PHP interpreter as /apache/php/php. You don’t want that as on a Debian machine, it is located at /usr/bin/php (or php4). To change it, use the Run > Debug menu

  • Click on “PHP Application”
  • Click “New”
  • Give a name (“My interpreter”?)
  • Select the file you want to debug in this case (just select one PHP file from your new project)
  • Select the “Environment” tab
  • Select the “Interpreter” tab
  • Browse to select /usr/bin/php4
  • Click “Debug”

That’s it, you have debugged your first PHP script with Eclipse.

I am still starting there, so I don’t understand why the interpreter tells me I have an unexpected ‘$’ at the end of my script, but I might find that later, and so might you.

Fixing up PHP projects building when it disappears

After a while (I’m using Eclipse 3.2 now), you might run into a problem with the PHP building process, whereby using the CTRL+Click on a function name will tell you The resource is not on the build path of a PHP project. If thi is the case, you’ll want to fix a few things to make it work. First, edit the .project file in your projects root, and make sure the <buildCommand> and <nature> tags below exist (otherwise add them and their contents, as is):

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
  <name>myProjectName</name>
  <comment></comment>
  <projects>
  </projects>
  <buildSpec>
    <buildCommand>
      <name>net.sourceforge.phpeclipse.parserbuilder</name>
      <arguments>
      </arguments>
    </buildCommand>
  </buildSpec>
  <natures>
    <nature>net.sourceforge.phpeclipse.phpnature</nature>
  </natures>
</projectDescription>

This is taken from a technical forum.

Then, you need to (probably restart Eclipse and) right click on your project and select Properties then reset the Document Root in PHP Project Settings (after selecting Use project settings).

When asked if you want to rebuild, click Rebuild now/Yes. That should do the trick.

%d bloggers like this: