|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre habitué
![]() Inscription : juillet 2006 Messages : 690 ![]() |
Bonjour à tous,
Voici mon problème : Je dispose d'un bundle Web_service et d'un bundle Core. Dans mon bundle Core, je fais des appels à des webméthodes consommées par le bundle Web_service. En vue d'effectuer des tests unitaires dans mon bundle Core, j'ai suivi ce qui est dit ici : http://www.talios.com/osgi_based_int...ache_felix.htm. Mon souci est que j'ai l'erreur suivante : Code :
Unresolved constraint in bundle 2: package; (package=javax.jws) Merci PS: j'avais eu avant ceci, la même erreur avec le bundle log4j et j'avais résolu ce problème en ajoutant ceci : Code :
__________________
https://www.weetool.com |
||
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() Inscription : mars 2006 Messages : 799 ![]() |
Bonjour,
si tu exécutes tes tests en java 1.6 (ou plus), le package est présent dans la JRE. Par contre, comme c'est pas un package standard (pas java.*), il faut spécifier au framework OSGi de l'exporter via la propriété système "org.osgi.framework.bootdelegation". Un autre solution qui marche dans tous les cas, est d'ajouter un bundle contenant et exportant ce package. En peu de temps, sur findjar, j'en ai trouvé deux qui semblent compatibles OSGi: - geronimo-ws-metadata (org.apache.geronimo.specs:geronimo-ws-metadata_2.0_spec) - javaee-api (org.apache.openejb:javaee-api) Le second contient beaucoup d'autres package, à toi de voir si tu en auras besoin. |
|
|
00
|
|
|
#3 | |
|
Membre habitué
![]() Inscription : juillet 2006 Messages : 690 ![]() |
Salut Deaf et merci pour ta réponse
Citation:
__________________
https://www.weetool.com |
|
|
|
00
|
|
|
#4 |
|
Membre émérite
![]() Inscription : mars 2006 Messages : 799 ![]() |
La JRE, c'est un peu plus qu'un jar, mais celui-ci en fait partie et c'est bien lui qui doit contenir ce package.
Cependant, tu n'as pas à manipuler ce jar directement, c'est ton framework OSGi (felix, equinox, knopflerfish) qui le charge. |
|
|
00
|
|
|
#5 | ||
|
Membre habitué
![]() Inscription : juillet 2006 Messages : 690 ![]() |
Alors j'ai un peu avancé, il se trouve qu'à chaque fois que je rajoute dans le code :
Code :
(actuellement, Unresolved constraint in bundle 5: package; (package=javax.crypto)) Deaf : Quand tu trouves un jar sur le site findjar, comment sais-tu qu'il est compatible OSGI. Autrement dit, comment sais-tu qu'il s'agit bien d'un bundle ? Ce serait bien sympa si j'en trouvais un qui contient tout !
__________________
https://www.weetool.com |
||
|
|
00
|
|
|
#6 |
|
Membre émérite
![]() Inscription : mars 2006 Messages : 799 ![]() |
Le seul moyen que je vois, c'est de le télécharger et de jeter un oeil au manifest. S'il y a les en-têtes classiques OSGi (et en particulier Export-Packages), c'est bon.
javax.crypto, c'est encore un package de la JRE, donc tu peux t'en sortir en augmentant le boot class path. J'attire l'attention que ce n'est pas une pratique à généraliser, car elle casse le principe de modularité. Je ne m'autorise à le faire que pour les classes de la JRE (genre javax.swing). |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : septembre 2009 Messages : 4 ![]() |
Pour javax.crypto, rajoute le a 'org.osgi.framework.bootdelegation' (que tu passe lors de la configuration du framework).
|
|
|
00
|
|
|
#8 |
|
Membre habitué
![]() |
Hello,
Ce que tu fais, c'est plutôt du test d'intégration... Sur le site de spring EBR (enterprise bundle repository), tu as une floppée de bundles maven tous osgifiés. Fais toi un pom maven contenant tes dépendances, lance install dessus, il les téléchargera dans ton dépôt local. Tu n'auras plus qu'à les utiliser comme bibliothèques simple. Tu peux aussi maveniser ton projet, avec des outils comme PAX de ops4j, mais prépares toi à y passer un peu de temps. Le jeu en vaut la chandelle par contre. J'ai un exemple ici: http://hudson.osgiliath.net/job/orthank-sample%20Tag/ , mais il faut que je reonfigure hudson afin que tu puisses voir le workspace (courant semaine prochaine). + |
|
00
|
Copyright © 2000-2013 - www.developpez.com