Eclipse Subversive y librerías de acceso a Subversion

1
15060

Creación: 01-06-2007

Índice de contenidos

1. Introducción

En otro tutorial
(http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=svnSubversive) ya hemos hablado de como integrar Eclipse con Subversion, mediante el plugin Subversive.

La integración entre Subversive y Subversion se puede hacer mediante el uso de varias librerías (librería que se encarga de realizar la comunicación entre el cliente y el servidor de Subversion).

De todas las posibilidades sólo una de ellas es la recomendada por la gente de Subversion. La gente de Subversion sólo recomienda el uso de la librería cliente que proporcionan ellos. Esto es porque la idea es que ellos desarrollan tanto el servidor como las librerías cliente (para usar desde varios lenguajes), de forma que el acceso al Subversion se haga de una forma unificada. Es decir, todo el mundo acceda de la misma forma, y que posibles cambios en el protocolo de comunicación o en la forma de representar la información no afecte a los clientes de Subversion.

Esto no quiere decir que las otras opciones funcionen mal, pero nos podemos encontrar con la situación (lo he vivido en propias carnes, y es que en Autentia www.autentia.com tengo al oportunidad y la suerte de ver muchas cosas 😉 de que cambia la versión de Subversion y que, por no usar la librería recomendada, nuestros clientes (por ejemplo el Eclipse) son incapaces de conectarse correctamente al repositorio.

Otro problema típico es que usemos dos clientes diferentes, por ejemplo el Eclipse con una configuración del Subversive y el kdesvn (herramienta de KDE que se integra con el Konqueror), para acceder a los mismos ficheros del repositorio. Si Eclipse no lo tenemos configurado para usar las librerías nativas tendremos problemas porque no podremos usar el kdesvn.

En este tutorial vamos a ver como podemos configurar el Subversive del Eclipse para usar las librerías nativas proporcionadas por Subversion para evitar todos estos problemas.

2. Entorno

El tutorial está escrito usando el siguiente entorno:

  • Hardware: Portátil Asus G1 (Core 2 Duo a 2.1 GHz, 2048 MB RAM, 120 GB HD).
  • Sistema Operativo: GNU / Linux, Debian Sid (unstable), Kernel 2.6.21, KDE 3.5
  • Eclipse 3.2.2
  • Subversive 1.1.2
  • Subversion 1.4.2dfsg1-2
  • libsvn-java 1.4.2dfsg1-2

3. Descarga de las librerías nativas

Como siempre en Debian la instalación es trivial, basta con usar apt-get:

# apt-get -u install libsvn-java

Esto nos habrá dejado las librerías nativas de acceso a Subversion en el directorio:

/usr/lib/jni

Si estamos usando Windows podemos descargarlas de:
http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91. Y las descomprimimos en nuestro disco duro en donde queramos (no hace falta que estén en el path del sistema).

4. Configuración de Subversive en Eclipse

Si vemos las opciones de este plugin (Window –> Preferences… –> Team –> SVN –> SVN Client (en la pestaña superior)), podemos ver que se pueden seleccionar varias librerías clientes para conectar:

Podemos ver como la primera opción es “Native JavaHL”. Esta es la opción que nos interesa, pero si nos fijamos podemos ver como hay un error que indica que no se han podido cargar las librerías nativas, por lo que no vamos a poder seleccionar esta opción.

El problema es que, aunque nos hemos descargados las librerías en nuestro ordenador, la JVM que ejecuta Eclipse no sabe donde están.

Lo que vamos a hacer es modificar el fichero eclipse.ini (se encuentra en el directorio donde tenemos instalado nuestro Eclipse) de la siguiente forma:

-vmargs

-Xms80m

-Xmx256m

-XX:PermSize=128m

-XX:MaxPermSize=256m

-Djava.library.path=/usr/lib/jni

Realmente sólo nos interesa la última línea, que es donde se indica en que directorio puede encontrar la JVM las librerías que hemos descargado en el punto anterior. El resto de líneas las he dejado porque pienso que también os pueden resultar interesantes: es la forma de aumentar la memoria de trabajo del Eclipse (puede evitarnos algunos OutOfMemory cuando trabajamos con proyectos grandes).

Ahora, por supuesto, reiniciamos el Eclipse, y volvemos a ir a: Window –> Preferences… –> Team –> SVN –> SVN Client (en la pestaña superior)

Como podéis ver en la imagen, esta vez si hemos podido seleccionar la opción “Native JavaHL” y no hay ningún mensaje de error.

5. Conclusiones

En Autentia (www.autentia.com) siempre estamos investigando herramientas de desarrollo para intentar conseguir entornos de trabajo robustos y eficientes. Este es un ejemplo más de como podemos configurar nuestro entorno de desarrollo Eclipse para evitarnos algunos problemillas.

6. Sobre el autor

Alejandro Pérez García, Ingeniero en Informática (especialidad de Ingeniería del Software)

Socio fundador de Autentia (Formación, Consultoría, Desarrollo de sistemas transaccionales)

mailto:alejandropg@autentia.com

Autentia Real Business Solutions S.L. – “Soporte a Desarrollo”

http://www.autentia.com

 

 

Alejandro es socio fundador de Autentia y nuestro experto en Java EE, Linux y optimización de aplicaciones empresariales. Ingeniero en Informática y Certified ScrumMaster. Seguir @alejandropgarci Si te gusta lo que ves, puedes contratarle para darte ayuda con soporte experto, impartir cursos presenciales en tu empresa o para que realicemos tus proyectos como factoría (Madrid). Puedes encontrarme en Autentia: Ofrecemos servicios de soporte a desarrollo, factoría y formación.

1 COMENTARIO

  1. El tutorial esta muy bueno, como cada uno de los otros tutoriales.
    En esta ocacion les escribo para que revisen la programacion de esta aplicacion.
    Mi sistema operativo es GNU/Linux distro Fedora 13 64bits, y tanto Mozilla Firefox como Chromium se pegan/cuelgan/bloquea/freeze/(etc) al acceder a su sitio y me muenstra un mensaje indicando que hay un script que esta causando el congelamiento en: http://wwww.adictosaltrabajo.com/sintax/js/slimbox/mootools.js:3

DEJA UNA RESPUESTA

Por favor ingrese su comentario!

He leído y acepto la política de privacidad

Por favor ingrese su nombre aquí

Información básica acerca de la protección de datos

  • Responsable:
  • Finalidad:
  • Legitimación:
  • Destinatarios:
  • Derechos:
  • Más información: Puedes ampliar información acerca de la protección de datos en el siguiente enlace:política de privacidad