IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OGSi Java Discussion :

[OSGi] Erreur "Unresolved constraint in bundle"


Sujet :

OGSi Java

  1. #1
    Membre habitué
    Inscrit en
    Juillet 2006
    Messages
    747
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 747
    Points : 185
    Points
    185
    Par défaut [OSGi] Erreur "Unresolved constraint in bundle"
    Bonjour à tous,

    Voici mon problème. J'utilise OSGI pour mon projet. Je dispose d'un jar que j'appelle via l'implémentation Felix d'OSGI (via felix.jar qui va me charger mon module principal). Mon souci est que, dans la classe principale (Activator.java) du module appelé par Felix, j'ai besoin de logguer (et donc besoin de log4j)

    Je fais donc:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    import org.apache.log4j.Logger;
    J'utilise maven pour compiler mon projet et dans mon POM, j'ai ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     <build>
        <plugins>
          <plugin>
            <groupId>org.apache.felix</groupId>
            <artifactId>maven-bundle-plugin</artifactId>
            <version>1.4.0</version>
            <extensions>true</extensions>
            <configuration>
              <instructions>
                <_donotcopy>(CVS|.svn|config.properties)</_donotcopy>
                <Main-Class>org.mplify.teamtilt.core.Activator</Main-Class>
                <Import-Package>!android.*,!dalvik.*,org.osgi.framework,org.osgi.service.packageadmin,org.osgi.service.url,org.osgi.service.startlevel,org.osgi.util.tracker,*, org.apache.log4j</Import-Package>
                <Export-Package>org.mplify.teamtilt.core.service.*</Export-Package>
                <Private-Package>org.mplify.teamtilt.core.*</Private-Package>
                <Embed-Dependency>*;artifactId=org.apache.felix.main;inline=true</Embed-Dependency>
                <Bundle-Activator>org.mplify.teamtilt.core.Activator</Bundle-Activator>
                <Bundle-Vendor>M-PLIFY</Bundle-Vendor>
              </instructions>
            </configuration>
          </plugin>
          <plugin>
    	     <artifactId>maven-compiler-plugin</artifactId>
    	        <configuration>
    	          <source>1.5</source>
    	          <target>1.5</target>
    	     </configuration>
    	  </plugin>
        </plugins>
      </build>
    A l'exécution, j'ai ce message :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ERROR: Bundle org.apache.example.Main [2]: Error starting file:/home/xxxx/Downloads/bundle/Main-1.0.0.jar (org.osgi.framework.BundleException: Unresolved constraint in bundle org.apache.example.Main [2]: Unable to resolve 2.0: missing requirement [2.0] package; (package=org.apache.log4j))
    Quelqu'un sait-il me dire a quoi cette erreur est-elle due et comment la résoudre ?

    Merci beaucoup.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut

    Tu as bien un bundle qui fournit (export) le package log4j dans ton système ?

    EDIT : la distrib officielle de log4j est un bundle OSGi avec les export qui vont bien

    De plus cette ligne me fait un peu peur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <Embed-Dependency>*;artifactId=org.apache.felix.main;inline=true</Embed-Dependency>
    As-tu vraiment besoin d'embarquer dans ton bundle des choses propres à Felix ?

  3. #3
    Membre habitué
    Inscrit en
    Juillet 2006
    Messages
    747
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 747
    Points : 185
    Points
    185
    Par défaut
    Salut George7

    Merci bien pour ta réponse. Elle m'a mise sur la voie (comme d'habitude en fait !! ). Mon jar était foireux. Je l'ai remplacé par le jar qui se trouvait dans le dossier 'plugins' d'Eclipse : org.apache.log4j_1.2.15.v201005080500.jar

    Du coup, ça marche nickel.

    Pour la ligne dont tu parles, je t'avoue que je n'ai pas vérifié. j'avais repris l'exemple donné sur le site dont on parlait la dernière fois. Je vais l'enlever et voir ce que ça donne.

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 15/01/2007, 21h15
  2. Pb avec l'erreur 1216... une constrainte externe l'empeche
    Par jeff&&php dans le forum Requêtes
    Réponses: 7
    Dernier message: 28/04/2006, 09h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo