Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

Discussion: JAXB sous Unix AIX

  1. #1
    Invité de passage
    Profil pro SMAIL SMAIL
    Inscrit en
    octobre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Nom : SMAIL SMAIL

    Informations forums :
    Inscription : octobre 2009
    Messages : 3
    Points : 0
    Points
    0

    Par défaut JAXB sous Unix AIX

    Bonjour tous le monde,

    Je rencontre une exception de type java.lang.IncompatibleClassChangeError lorsque j’exécute mon script ANT qui permet de générer des fichiers XML en utilisant l'API JAXB (Marshalling/Unmarshilling) dans le serveur de déploiement (serveur AIX).

    • Lorsque j’exécute le script ANT dans l'environnement de développement (Windows XP), il marche bien et il génère les fichiers XML.

    • J'utilise dans l'environnement de développement la même JDK (jdk1.5.0) qui est installée dans le serveur de déploiement (serveur AIX)


    NB : La génération s'effecute bien par fois (raaaaaaaaarement) sur le serveur AIX.

    voici la trace :

    Code :
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
     
     
    ........................./build.xml:176: java.lang.IncompatibleClassChangeError
            at com.sun.xml.bind.v2.model.impl.ElementPropertyInfoImpl$1.size(ElementPropertyInfoImpl.java:82)
            at java.util.AbstractList$Itr.hasNext(AbstractList.java:431)
            at com.sun.xml.bind.v2.model.impl.ModelBuilder.getClassInfo(ModelBuilder.java:260)
            at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo(RuntimeModelBuilder.java:104)
            at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo(RuntimeModelBuilder.java:85)
            at com.sun.xml.bind.v2.model.impl.ModelBuilder.getClassInfo(ModelBuilder.java:214)
            at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo(RuntimeModelBuilder.java:99)
            at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo(RuntimeModelBuilder.java:85)
            at com.sun.xml.bind.v2.model.impl.ModelBuilder.getTypeInfo(ModelBuilder.java:320)
            at com.sun.xml.bind.v2.model.impl.RegistryInfoImpl.<init>(RegistryInfoImpl.java:103)
            at com.sun.xml.bind.v2.model.impl.ModelBuilder.addRegistry(ModelBuilder.java:362)
            at com.sun.xml.bind.v2.model.impl.ModelBuilder.getTypeInfo(ModelBuilder.java:332)
            at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:460)
            at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:298)
            at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:141)
            at com.sun.xml.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1163)
            at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:145)
            at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:236)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:615)
            at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:186)
            at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:146)
            at javax.xml.bind.ContextFinder.find(ContextFinder.java:348)
            at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:446)
            at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:409)
            at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:313)
            at gen.utils.Util.unmarshalling(Unknown Source)
            at gen.utils.Util.mvtConfig(Unknown Source)
            at gen.utils.Util.mvtGenConfig(Unknown Source)
            at gen.start.StartGen.mvtGeneration(Unknown Source)
            at gen.start.StartGen.start(Unknown Source)
            at gen.start.StartGen.main(Unknown Source)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:615)
            at org.apache.tools.ant.taskdefs.ExecuteJava.run(ExecuteJava.java:217)
            at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:152)
            at org.apache.tools.ant.taskdefs.Java.run(Java.java:771)
            at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:221)
            at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:135)
            at org.apache.tools.ant.taskdefs.Java.execute(Java.java:108)
            at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:615)
            at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
            at org.apache.tools.ant.Task.perform(Task.java:348)
            at org.apache.tools.ant.Target.execute(Target.java:390)
            at org.apache.tools.ant.Target.performTasks(Target.java:411)
            at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
            at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
            at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
            at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
            at org.apache.tools.ant.Main.runBuild(Main.java:809)
            at org.apache.tools.ant.Main.startAnt(Main.java:217)
            at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
            at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)

    Aider moi SVP .

  2. #2
    Membre expérimenté Avatar de NicoL__
    Homme Profil pro Nicolas
    Inscrit en
    janvier 2011
    Messages
    398
    Détails du profil
    Informations personnelles :
    Nom : Homme Nicolas
    Localisation : France

    Informations forums :
    Inscription : janvier 2011
    Messages : 398
    Points : 571
    Points
    571

    Par défaut

    Bonjour,

    C'es la même JDK sous AIX que sous Windows XP ? Pas uniquement les versions, AIX c'est IBM et IBM a sa propre implémentation de la JDK.
    Il faut peut-être recompiler le tout avec la JDK d'IBM.

  3. #3
    Invité de passage
    Profil pro SMAIL SMAIL
    Inscrit en
    octobre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Nom : SMAIL SMAIL

    Informations forums :
    Inscription : octobre 2009
    Messages : 3
    Points : 0
    Points
    0

    Par défaut

    Merci, oui c'est vraiment la solution envisagée. Mais le problème c'est que l'environnement du DEV est sur Windows, et que je trouve pas un JDK1.5 d'IBM qui tourne sur windows ca existe que pour Linux.

    http://blogs.msdn.com/b/dotnetintero...r-windows.aspx

  4. #4
    Membre expérimenté Avatar de NicoL__
    Homme Profil pro Nicolas
    Inscrit en
    janvier 2011
    Messages
    398
    Détails du profil
    Informations personnelles :
    Nom : Homme Nicolas
    Localisation : France

    Informations forums :
    Inscription : janvier 2011
    Messages : 398
    Points : 571
    Points
    571

    Par défaut

    Effectivement IBM ne semble distribuer qu'un plugin eclipse pour Windows :
    http://www.ibm.com/developerworks/ja....html#download

    Une technique serait de savoir quelle classe pose problème, trouver son équivalent dans la JRE IBM et charger cette classe en fonction d'une configuration. Cela se fait bien en configurant le nom complet de la classe dans un fichier properties.
    Et une piste pour JAXB est qu'IBM a son implémentation :
    com.ibm.xml.xlxp2.jaxb.JAXBContextImpl

    Il faut probablement donc passer cela au context jaxb

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •