El autoalojamiento es una actividad en la que se utiliza un programa informático para crear versiones nuevas del mismo programa. El autoalojamiento es muy frecuente en el desarrollo de compiladores, donde se escriben versiones nuevas del compilador en el correspondiente lenguaje destino, las cuales se autocompilan como parte del proceso de prueba. En Eclipse, el término autoalojamiento se refiere a la utilización de Eclipse para desarrollar conectores Eclipse. Esto suena como una declaración de principios del PDE, y efectivamente lo es. Por el hecho de utilizar el PDE, ya está utilizando el autoalojamiento.
El PDE da soporte a dos estilos diferentes de autoalojamiento. Ambos tienen sus ventajas y sus inconvenientes, y están diseñados para escenarios de utilización distintos. Difieren en la forma de gestionar las dependencias de los conectores.
El autoalojamiento simple (autónomo) utiliza conectores externos para resolver las referencias de conectores. Es sencillo, fácil de gestionar y entender, y es perfectamente adecuado para los desarrolladores autónomos (aquellos que no utilizan depósitos remotos para compartir el código con los demás).
El autoalojamiento de proyectos binarios incorpora un paso adicional, mediante el que los conectores externos se importan al área de trabajo en forma de proyectos binarios. Todavía no admiten modificaciones y suelen estar ocultos en el Explorador de paquetes mediante un filtro de proyectos binarios.
En el release 2.1 se ha añadido una nueva característica según la cual el PDE ofrece un estilo adicional de autoalojamiento, que se puede interpretar como una combinación entre el autoalojamiento simple y el de proyectos binarios. En esta modalidad, se utiliza un contenedor de vía de acceso de clases proporcionado por las herramientas de desarrollo Java (JDT) para representar las entradas de los conectores dependientes. Estas entradas se calculan dinámicamente en función de la situación actual en la plataforma. Si un conector al que se haga referencia está situado en un lugar exterior, la referencia se resolverá como archivos JAR externos. Un conector que esté situado en el área de trabajo se resolverá en la referencia del proyecto. Los cambios que se realicen en el área de trabajo afectarán automáticamente a la vía de acceso de clases existente en el contenedor. Por último, dado que las entradas se calculan cuando se necesitan (no están codificadas por programa ni almacenadas), los cambios que se realicen en la plataforma destino no harán que las vías de acceso de clases se vuelvan obsoletas o frágiles.