¿Cómo adjunto las ubicaciones del código fuente a los complementos en mi plataforma de destino Eclipse RCP?
eclipse-pde eclipse-3.4 (4)
Tengo un espacio de trabajo con múltiples proyectos de complemento RCP.
Hemos establecido la plataforma de destino, por lo que podemos compilar contra un conjunto estándar de complementos, pero no podemos ver el código fuente y Javadoc para todos los complementos de la plataforma.
La página Windows -> Preferencias -> Desarrollo de complementos -> Plataforma de destino -> Código de origen no parece tener ningún efecto cuando agrego el directorio de eclipse (solo le permite agregar directorios).
Copiar los archivos jar de origen desde el directorio de eclipse a la plataforma de destino tiene un efecto similar.
¿Qué estoy haciendo mal? ¿Cómo puedo adjuntar un conjunto de jar de Fuente a mi plataforma de destino?
Puedo modificar la plataforma de destino en tiempo de ejecución, utilizando la opción -install
runtime. Mantenga la Plataforma de destino como la plataforma de eclipse.
Sin embargo, esto pierde muchos de los beneficios de usar una plataforma de destino en primer lugar, es decir, compilar la seguridad del tiempo.
Si utiliza los paquetes de Eclipse SDK al construir su plataforma de destino, se le debe proporcionar de inmediato "Adjunto de origen de Java" y "Ubicación de Javadoc" para cada plugin de Eclipse. Por ejemplo, utilicé "Eclipse Platform SDK" (eclipse-platform-SDK-3.4.2-win32) como espacio de destino y cuando visualicé la "página de ubicaciones de códigos fuente" que mencionaste, está llena de "ubicaciones de origen declaradas en la plataforma objetivo ". En Eclise IDE, puedo ver los plugins de Eclipse, el código fuente y javadoc (en los paquetes de JFace, por ejemplo).
De todos modos, no es tan fácil agregar complementos a las ubicaciones del código fuente, pero puedes tener éxito de dos maneras:
- proporcionar un "complemento de origen" (la forma más fácil si el proveedor del complemento también proporciona el complemento de origen) en la plataforma de destino, como un complemento ordinario (PDE lo reconocerá)
- proporcionando una ubicación de fuente adicional (no de la manera más fácil ...)
Puede encontrar más información sobre las ubicaciones de código fuente de destino en su Ayuda de Eclipse, en el siguiente tema: Guía de entorno de desarrollo de complementos> Herramientas> Preferencias> Preferencias de plataforma de destino> Ubicaciones de código fuente
Tuve el mismo problema hoy. En mi caso, quise depurar en el origen del plugin embedded jetty (org.mortbay.jetty_5.1.14.v200806031611.jar) que viene con Eclipse Equinox (OSGI) que es parte de mi plataforma de eclipse objetivo.
Cuando se depuró y quería entrar en cualquier clase dentro de un paquete de embarcadero, siempre recibí el mensaje de que era una clase de Plugin-Dependencies y el archivo adjunto de origen no se puede modificar.
Lo solucioné así:
- Cambiar a la vista de complementos en Eclipse ( Ventana / Mostrar vista / Complementos )
- localizar el paquete org.mortbay.jetty
- Haga clic derecho en ese paquete y seleccione "Importar como" -> "Proyecto binario con contenido vinculado"
Ahora que Bundle aparece en su Package Explorer como un nuevo proyecto de Eclipse, en mi caso org.mortbay.jetty .
Ahora haga clic derecho en ese nuevo proyecto en el explorador de paquetes y vaya a ''Propiedades / Java Build Path / Libraries''. Verá el archivo jar de embarcadero allí y si expande esta entrada, puede editar el ''Adjunto de origen'' como de costumbre. Lo apunté al código fuente de Jetty descargado que se encuentra en una carpeta completamente diferente a la plataforma de destino que estoy utilizando para mi proyecto.
Todas las fuentes están disponibles si descarga la compilación ''Eclipse for RCP and RAP Developers'' desde la página principal de descargas. Al menos, eso es lo que se llama para la compilación de Juno, solía llamarse Eclipse for RCP/Plug-in Developers
.
No parece que el código fuente del complemento esté disponible a través de las versiones estándar de Java / J2ee Eclipse. Asumí que las fuentes estarían disponibles a través del mecanismo de actualización pero no he podido encontrar el sitio / función de actualización correcto. Si alguien sabe, por favor comente.