instalar - Cómo saber qué característica contiene un complemento necesario en un sitio de descarga de Eclipse
herramientas de eclipse (5)
Aunque desarrollé bastantes aplicaciones RCP, no encontré una solución conveniente para este problema. Una buena fuente de complementos es el propio Eclipse IDE. Para encontrar las dependencias, me parece bastante útil la característica Análisis de dependencias en el Editor de manifiestos de complementos . Además, uno puede validar la configuración de un producto mediante el botón Validar ... en la esquina superior derecha del Editor de configuración del producto . Si faltan complementos, se enumeran como resultado.
Una posibilidad que no he intentado hasta ahora es definir una plataforma de destino especificando uno o más sitios de software en lugar de confiar en las características y complementos descargados localmente.
Seguramente esta no es la respuesta que estabas buscando, pero no hay una solución real para este problema. Solo hay herramientas y vehículos (descritos en parte anteriormente) que ayudan a aliviar el dolor al construir la plataforma objetivo de una aplicación RCP.
Al desarrollar una aplicación de RCP en una plataforma de destino, I ( y otros ) a menudo se encuentran con dependencias que deben agregarse desde el sitio del software de versiones de Eclipse. Cada vez que se incluye un complemento en mi IDE, pero no en mi plataforma objetivo, y trato de ejecutar la aplicación desde la definición del producto, aparece una pantalla de advertencia que me informa que tal paquete no se puede resolver.
"No hay problema, simplemente agregue la función que contiene el complemento desde el sitio de descargas de Eclipse a la plataforma de destino, y agregue el complemento necesario al Proyecto / Feature Project del complemento, whathaveyou ...."
Pero, AFAIK, no hay una manera simple (por ejemplo, el sitio web) para descubrir qué característica incluye qué complemento. Por ejemplo, para agregar org.eclipse.ui.views.properties.tabbed
, necesitaría saber que este complemento está incluido en la característica Eclipse Platform SDK
(entre otros).
Hasta ahora no he encontrado una manera fácil de averiguar qué función contiene qué complemento. Normalmente empiezo buscando en Google el nombre del complemento y trato de encontrar un tutorial o similar entre los resultados de la búsqueda, que podría decirme qué función incluir para acceder al complemento. Esto puede ser tedioso, por supuesto.
Entonces mi pregunta es: ¿hay una forma mejor, quizás incluso oficial (u oficiosa) de encontrar esta información rápida y sencilla?
Idea básica: obtenga definiciones de todas las características y luego búsquelas.
Descripción más detallada: http://divby0.blogspot.com/2010/10/howto-find-feature-that-contains-plugin.html
No parece una solución efectiva, pero aún así es algo.
Si enciende la consola p2, puede usar el lenguaje de consulta p2 para encontrar todas las características que dependen de un paquete. Mi ejemplo está en Eclipse Juno (4.2):
- cambiar a la consola OSGi en la vista de la consola
- ss p2.console # para encontrar el número de paquete de la consola
- felix: start -t consoleBundleNumber
Ahora puede enviar consultas p2. Para encontrar las características de su instalación actual que contienen org.eclipse.jface , puede usar:
osgi> provlpquery this "select(parent | parent.properties[''org.eclipse.equinox.p2.type.group''] == true && parent.requirements.exists(rc | everything.exists(iu | iu.id == ''org.eclipse.jface'' && iu ~= rc)))" true
org.eclipse.e4.rcp.feature.group 1.1.0.v20120521-2329-8yFTIGF3GGduEYqkQB9M3DKn
org.eclipse.e4.tools.css.spy.feature.feature.group 0.12.0.v20111206-1509-17B-7w3123161302752
Para saber qué característica incluye org.eclipse.ui.views.properties.tabbed , puede usar:
osgi> provlquery http://download.eclipse.org/releases/juno "select(parent | parent.properties[''org.eclipse.equinox.p2.type.group''] == true && parent.requirements.exists(rc | everything.exists(iu | iu.id == ''org.eclipse.ui.views.properties.tabbed'' && iu ~= rc)))" true
org.eclipse.amp.amf.feature.group 0.9.0.v20120528-0244
org.eclipse.bpel.feature.feature.group 1.0.1.v20120606-0845-CI
org.eclipse.jwt.feature.feature.group 1.2.0.v201205310546-7O7i-FK_Qj4QkVn3kW9q
org.eclipse.platform.feature.group 4.2.0.v20120528-1648-9JF7BHV8FyMteji0MoOeOuU6sAnxIeYtKNM1dK
org.eclipse.ptp.etfw.tau.feature.group 6.0.0.201206052145
org.eclipse.tcf.te.feature.feature.group 1.0.0.201206051725
org.eclipse.tcf.te.tcf.feature.feature.group 1.0.0.201206051725
En este caso, org.eclipse.platform.feature.group es el más correcto.
El primer ejemplo es consultar perfiles en el eclipse en ejecución, por lo que usa provlpquery esto . El segundo ejemplo es especificar un repositorio p2 externo, por lo que utiliza repositorio provlquery .
Consulte http://wiki.eclipse.org/Equinox_p2_Console_Users_Guide para obtener más información sobre la consola p2. Hay mucha magia negra sucediendo :-)
También hay una utilidad de GUI que puede responder a esta pregunta, p2browser :
- Agregue un repositorio P2 relevante
- Filtrar por IU, capacidad o paquete (Java)
- Haga clic derecho en IU relevante y elija "Abrir incluyendo funciones"
La utilidad también es útil para buscar complementos / paquetes que proporcionan paquetes Java específicos.
ok después de un montón de respuestas de google y de arriba, hice lo siguiente
- crear un nuevo proyecto general en eclipse
- agregar la carpeta de características a este proyecto (como carpeta de enlace)
- buscar en este proyecto todo feature.xml con mi nombre de complemento
Espero que esto ayude a otros también