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

Langage Java Discussion :

Conversion bean terminal


Sujet :

Langage Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 38
    Par défaut Conversion bean terminal
    Bonjour,

    Je cherche à convertir un Javabean en contrôle ActiveX, en suivant les étapes de l'ActiveX Bridge de Sun.

    Pour cela, il faut se servir du packager.exe situé dans le dossier /bin du jdk (en l'occurence j'utilise jdk1.6.0n et taper dans le terminal windows:
    packager.exe <nom du jar> <nom du bean>

    Il est bien stipulé qu'on doit créer un jar par bean. Pour commencer, j'ai donc fait un projet avec un seul bean sous NetBeans 5.5.1, s'intitulant JCanvas, avec ma classe JCanvas, dans le package jcanvas (un peu répétitif, je sais^^).

    Pour créer mon contrôle activeX, je tape donc:
    packager JCanvas.jar JCanvas.jcanvas.JCanvas, et voilà l'erreur obtenue:

    C:\Program Files\Java\jdk1.6.0\bin>packager JCanvas.jar JCanvas.jcanvas.JCanvas
    Exception in thread "main" java.lang.NoClassDefFoundError: Files\Java\jre1/5/0_0
    6\lib\ext\QTJava/zip
    La gÚnÚration du fichier .idl a ÚchouÚ

    Je ne comprends pas bien. Une histoire de CLASSPATH?

    Je précise qu'il n'y a pas de méthode "main" dans mon bean, et que Java fonctionne correctement chez moi sinon.

    Merci d'avance pour votre aide.

  2. #2
    Membre Expert Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 691
    Par défaut
    main se praporte au Thread et non à la methode, donc ce n'est pas annormal.

    Par contre il semble y avoir un problème d'espace dans le chemin "...Files\Java\jre1.5.0_06\lib\ext\QTJava.zip". C'est une extention que tu as installé?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 38
    Par défaut
    Non, je n'ai pas installé d'extensions particulières.
    Et sinon, quand je fais un "set" dans le terminal, j'ai:
    CLASSPATH="C:\Program Files\Java\jre1.5.0_06\lib\ext\QTJava.zip"

    Ce n'est pas moi qui l'ai configuré^^, je ne sais pas s'il faut que je le change pour que cela fonctionne. Je vois que c'est dans le jre 1.5.0_06, alors que j'ai les jre jusqu'à 1.6.0_03, et que je programme avec le jdk1.6.

    Mais mes programmes javas marchent, donc je ne sais pas si ça vient de là.

  4. #4
    Membre Expert Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 691
    Par défaut
    Apparament c'est une extension JAVA pout QuickTime, donc si tu n'en a pas besoin, tu peux l'enlever.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 38
    Par défaut
    Oki, et donc je dois mettre quoi comme nouveau classpath?

  6. #6
    Membre Expert Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 691
    Par défaut
    Je pense tu peux le laisser vide, si tu n'utilises pas ce QTJava.zip.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 38
    Par défaut
    Effectivement, je n'ai plus cette erreur

    Mais par contre la génération du fichier .idl est toujours problèmatique.
    En utilisant le packager (pour tester) du j2sdk1.4.2_16, j'obtiens:

    C:\j2sdk1.4.2_16\bin>packager JCanvas.jar JCanvas.jcanvas.JCanvas
    Usage: java [-options] class [args...]
    (to execute a class)
    or java [-options] -jar jarfile [args...]
    (to execute a jar file)

    where options include:
    -client to select the "client" VM
    -server to select the "server" VM
    -hotspot is a synonym for the "client" VM [deprecated]
    The default VM is client.

    -cp <class search path of directories and zip/jar files>
    -classpath <class search path of directories and zip/jar files>
    A ; separated list of directories, JAR archives,
    and ZIP archives to search for class files.
    -D<name>=<value>
    set a system property
    -verbose[:class|gc|jni]
    enable verbose output
    -version print product version and exit
    -version:<value>
    require the specified version to run
    -showversion print product version and continue
    -jre-restrict-search | -jre-no-restrict-search
    include/exclude user private JREs in the version search
    -? -help print this help message
    -X print help on non-standard options
    -ea[:<packagename>...|:<classname>]
    -enableassertions[:<packagename>...|:<classname>]
    enable assertions
    -da[:<packagename>...|:<classname>]
    -disableassertions[:<packagename>...|:<classname>]
    disable assertions
    -esa | -enablesystemassertions
    enable system assertions
    -dsa | -disablesystemassertions
    disable system assertions
    La gÚnÚration du fichier .idl a ÚchouÚ.

    Et en utilisant, le jdk1.6.0, voilà ce que j'obtiens:
    C:\Program Files\Java\jdk1.6.0\bin>packager JCanvas.jar JCanvas.jcanvas.JCanvas

    Usage: java [-options] class [args...]
    (to execute a class)
    or java [-options] -jar jarfile [args...]
    (to execute a jar file)

    where options include:
    -client to select the "client" VM
    -server to select the "server" VM
    -hotspot is a synonym for the "client" VM [deprecated]
    The default VM is client.

    -cp <class search path of directories and zip/jar files>
    -classpath <class search path of directories and zip/jar files>
    A ; separated list of directories, JAR archives,
    and ZIP archives to search for class files.
    -D<name>=<value>
    set a system property
    -verbose[:class|gc|jni]
    enable verbose output
    -version print product version and exit
    -version:<value>
    require the specified version to run
    -showversion print product version and continue
    -jre-restrict-search | -jre-no-restrict-search
    include/exclude user private JREs in the version search
    -? -help print this help message
    -X print help on non-standard options
    -ea[:<packagename>...|:<classname>]
    -enableassertions[:<packagename>...|:<classname>]
    enable assertions
    -da[:<packagename>...|:<classname>]
    -disableassertions[:<packagename>...|:<classname>]
    disable assertions
    -esa | -enablesystemassertions
    enable system assertions
    -dsa | -disablesystemassertions
    disable system assertions
    Impossible de trouver le fichier .idl


    Donc dans un cas, une erreur de génération, et dans l'autre impossible de le trouver. (Le terminal m'affiche l'aide de l'éxécution de classes et de jar, je ne sais pas pourquoi !).

    Auriez-vous une idée?

  8. #8
    Membre Expert Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 691
    Par défaut
    Au vu que ce qu'il te racconte, tu doit spécifier le jar ou la classe mais pas les deux

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 38
    Par défaut
    Dans la doc de l'ActiveX Bridge, l'usage est stipulé:

    Packager Usage
    Usage: packager [-options] <jar file name> <bean name>

    where options include:
    -clsid <class-id> CLSID for the packaged bean
    -out <output directory> destination directory for the packaged bean
    -reg consent to register the Active-X control


    Un exemple:

    C:\j2sdk1.4.2\bin\packager -clsid {D824B185-AE3C-11D6-ABF5-00B0D07B8581} -out C:\Program Files\Java\j2re1.4.2\axbridge\bin -reg C:\my_bean_jars\jelly.jar sunw.demo.jelly.JellyBean

    Donc je pense qu'il faut bien mettre les deux non?

  10. #10
    Membre Expert Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 691
    Par défaut
    Je en sais pas trop une chose est sure c'est que la sytaxe retournée par la commande packager n'a rien a doir avec celle de ta doc.

    edit: ha je viens de regarder plus attentivement en fait la syntaxe affichée est celle de la commande java, pas de packager. C'est louche

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 38
    Par défaut
    Oui

    Je viens de me rendre compte, si ça peut aider, que ma console me renvoie toujours le même résultat si je mets:

    packager.exe JCanvas.jar <n'importe quoi>

    Il semble donc y avoir un problème avec le .jar non?

    Il a été automatiquement généré avec NetBeans, en faisant un projet nommé JCanvas, un package jcanvas, et mon bean JCanvas.java.

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 38
    Par défaut
    En fait, c'était mon classpath qui ne concordait pas avec le jdk utilisé. Il fallait le régler à rt.jar.

    Voilà, c'est résolu !

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

Discussions similaires

  1. JSF, probleme bean conversation
    Par questionneuse dans le forum JSF
    Réponses: 1
    Dernier message: 21/07/2011, 10h06
  2. Réponses: 1
    Dernier message: 27/03/2009, 05h56
  3. Réponses: 1
    Dernier message: 07/01/2009, 12h30
  4. Problème de conversion caractères bean/xml - xml/bean
    Par Piloufesse dans le forum Services Web
    Réponses: 3
    Dernier message: 23/04/2008, 17h06

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