2010-12-02 4 views
3

J'ai créé un bundle de plugin Eclipse qui ne passera pas de l'état RÉSOLU à ACTIF.Le plugin Eclipse ne passera pas de RESOLVED à ACTIVE

J'ai essayé d'ouvrir la console OSGI pour voir pourquoi l'ensemble ne démarre pas mais il ne semble pas y avoir de problèmes. Si je tape "start bundleid" alors ça commence comme on s'y attendrait.

L'ensemble utilise le point d'extension 'org.eclipse.ui.startup' que j'utilise pour effectuer une tâche pendant le démarrage de l'espace de travail Eclipse.

Ceci est le manifeste utilisé:

Manifest-Version: 1.0 
Bundle-ManifestVersion: 2 
Bundle-Name: My Bundle 
Bundle-SymbolicName: com.joejag.bundle;singleton:=true 
Bundle-Version: 1.1.0.qualifier 
Bundle-Activator: com.joejag.bundle.Activator 
Require-Bundle: org.eclipse.ui, 
org.eclipse.core.runtime, 
org.eclipse.core.resources 
Bundle-Vendor: Joejag 
Bundle-RequiredExecutionEnvironment: J2SE-1.5 

Le faisceau est destiné à être utilisé par d'autres. Leur demander de démarrer une console OSGI et de démarrer manuellement le bundle n'est donc pas une solution viable.

Ceci est le plus proche que je pourrais obtenir pour aider sur le sujet qui n'est pas très utile. Voir Wiki Eclipse.

+0

Pourquoi exactement avez-vous besoin ou vous attendez-vous à ce que cet ensemble soit actif? Quelle erreur se produit à la suite de son inactivité? Si la réponse est "aucun", alors vous n'avez rien à craindre. RÉSOLU n'est pas un état d'erreur. –

+0

Ce bundle contient du code que je voudrais exécuter au démarrage. Le code de démarrage n'est pas exécuté jusqu'à ce que le plugin passe en état ACTIF. – joejag

+0

L'exécution de code au démarrage est généralement mal vue dans Eclipse et n'est pas bien prise en charge. En effet, tout ce que vous faites au démarrage provoquera un démarrage un peu plus lent d'Eclipse. Ce n'est peut-être pas si mal pour un seul paquet, mais imaginez si des centaines de paquets voulaient tous faire quelque chose au démarrage ... Eclipse prendrait des heures pour commencer! –

Répondre

5

Si vous avez besoin de configurer votre plug-in pour qu'il démarre automatiquement et que vous vous attendiez à ce que les utilisateurs installent le plugin via p2, vous devez ajouter un fichier p2.inf. Ce fichier contient des instructions d'installation supplémentaires.

Ajoutez le fichier p2.inf suivant dans votre répertoire de métadonnées de votre plugin:

instructions.configure = setStartLevel(startLevel:4); 
markStarted(started: true); 

Plus d'informations sur le fichier p2.inf se trouvent here.

+0

Cela semble très prometteur, je vais essayer cet essai. – joejag

+0

Je me suis juste mis à l'essayer; travaillé un charme. Merci Andrew. – joejag

1

Je suppose que vous essayez de démarrer une application Eclipse !? Si c'est le cas, veuillez entrer dans votre configuration de lancement d'application Eclipse et là dans l'onglet Plug-Ins. Définissez le paramètre Par défaut, démarrez automatiquement à true et réessayez.

+0

Merci pour cela. Bien que ce soit une fois le plugin a été installé via un Updatesite plutôt que depuis Eclipse lui-même. – joejag

Questions connexes