p
u
b
l
i
c
i
t
é
publicité

Discussion: JAXB sous Unix AIX

  1. #1
    Invité de passage
    Inscrit en
    octobre 2009
    Messages
    3
    Détails du profil
    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 : 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
    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
    Inscrit en
    janvier 2011
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : janvier 2011
    Messages : 399
    Points : 576
    Points
    576

    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
    Inscrit en
    octobre 2009
    Messages
    3
    Détails du profil
    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
    Inscrit en
    janvier 2011
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : janvier 2011
    Messages : 399
    Points : 576
    Points
    576

    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

Discussions similaires

  1. Réponses: 8
    Dernier message: 22/04/2013, 15h50
  2. Variables sous Unix AIX
    Par ApprentiOracle dans le forum AIX
    Réponses: 4
    Dernier message: 18/01/2010, 11h11
  3. Problème de compilation postgres 8.4.1 sous Unix AIX
    Par casasniper dans le forum Installation
    Réponses: 7
    Dernier message: 16/10/2009, 12h58
  4. Réponses: 2
    Dernier message: 06/08/2007, 13h54
  5. Chargement dynamique de DLL sous Unix
    Par Willou dans le forum Outils pour C & C++
    Réponses: 7
    Dernier message: 18/12/2002, 18h25

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