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

NetBeans Java Discussion :

Compilation avec un JDK antérieur


Sujet :

NetBeans Java

  1. #1
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 022
    Points : 1 049
    Points
    1 049
    Par défaut Compilation avec un JDK antérieur
    Bonsoir à toutes et à tous,

    Je souhaite lancer Netbeans avec le jdk 5.0_11 alors que le jdk courant est le 6.0_1. J'ai vu dans la FAQ qu'il fallait placer la ligne de commande suivante :

    "C:\Program Files\netbeans-5.5\bin\netbeans.exe" --jdkhome "C:\Program Files\Java\jdk1.5.0_11\bin\javaw.exe"

    Ce faisant, j'obtiens le message :

    cannot find java.exe in C:\Program Files\Java\jdk1.5.0_11\bin\javaw.exe\...

    Je suis pourtant sûr de l'exactitude de ma ligne de commande.

    Quel est le problème ?

    Merci de votre aide.

    Pierre

  2. #2
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 022
    Points : 1 049
    Points
    1 049
    Par défaut
    Bon, j'ai résolu (je pense) ce problème, en tronquant la ligne de commande à :

    "C:\Program Files\netbeans-5.5\bin\netbeans.exe" --jdkhome "C:\Program Files\Java\jdk1.5.0_11"

    Seulement, maintenant, à la compilation il m'annonce :

    javac: invalid target release: 1.6

    Aïe, aïe, aïe. ...

    Cordialement.

    Pierre

  3. #3
    Membre éprouvé
    Avatar de n!co
    Profil pro
    Inscrit en
    Février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    Points : 936
    Points
    936
    Par défaut
    Salut,

    Tu peux choisir de la version de compilation de ton projet dans ces propriétés. Tu gardes donc ton Java 1.6 à l'execution de netbeans et tu configures correctement ton projet
    Netbeans account : nico@share.java.net
    Merci de ne pas poser de questions techniques par MP

  4. #4
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 022
    Points : 1 049
    Points
    1 049
    Par défaut
    Bon, j'ai réussi à trouver tout ça. Il m'a demandé si je voulais"réaménager" certains fichiers et j'ai dit OK ... Je ne suis pas sauvé des eaux pour autant. Il me trouve deux types d'erreur à la compilation :

    1. Dans le code que j'ai écrit :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      C:\...\Dessin JDK5\src\CadreImg.java:142: addMouseMotionListener(java.awt.event.MouseMotionListener) in java.awt.Component cannot be applied to (<anonymous java.awt.event.MouseAdapter>)[*]        addMouseMotionListener(new MouseAdapter()
      alors que quelques lignes au-dessus j'ai un "addMouseListener(new MouseAdapter()" sur lequel il n'a pas bronché !
    2. Dans le code généré automatiquement par le GUI, il y erreur à chaque ligne invoquant la classe "GroupLayout". J'ai par ailleurs remarqué que sii je développe mon code en lançant Netbeans avec la ligne de commande invoquant le JDK 5.0_11, dans le code généré automatiquement, la classe GroupLayout est attachée à "org.jdesktop.layout" au lieu de "java.swing"


    Voilà, voilà ...

    Cordialement.

    Pierre

  5. #5
    Membre éprouvé
    Avatar de n!co
    Profil pro
    Inscrit en
    Février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    Points : 936
    Points
    936
    Par défaut
    Citation Envoyé par ChPr
    Dans le code que j'ai écrit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\...\Dessin JDK5\src\CadreImg.java:142: addMouseMotionListener(java.awt.event.MouseMotionListener) in java.awt.Component cannot be applied to (<anonymous java.awt.event.MouseAdapter>)[*]        addMouseMotionListener(new MouseAdapter()
    alors que quelques lignes au-dessus j'ai un "addMouseListener(new MouseAdapter()" sur lequel il n'a pas bronché !
    Mais ce n'est pas la meme fonction ! addMouseMotionListener() ne prend pas de MouseListener comme paramètre

    Citation Envoyé par ChPr
    Dans le code généré automatiquement par le GUI, il y erreur à chaque ligne invoquant la classe "GroupLayout". J'ai par ailleurs remarqué que sii je développe mon code en lançant Netbeans avec la ligne de commande invoquant le JDK 5.0_11, dans le code généré automatiquement, la classe GroupLayout est attachée à "org.jdesktop.layout" au lieu de "java.swing"
    Tu peux configurer ce comportement dans Options - Advanced Options - GUI Builder - Layout Generation Style et mettre Swing Layout Extensions Library au lieu de Automatic. C'est néanmoins un bug, au plus d'être constraignant, car le fait de spécifier le projet comme compatible 1.5 devrait obliger l'utilisation de la bibliothèque GroupLayout au lieu du code du jdk 1.6.
    J'ai retrouvé le même comportement dans nb6, ca mériterait de le reporter au équipe de dev.

    n!co
    Netbeans account : nico@share.java.net
    Merci de ne pas poser de questions techniques par MP

  6. #6
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 022
    Points : 1 049
    Points
    1 049
    Par défaut
    Citation Envoyé par n!co
    Mais ce n'est pas la meme fonction ! addMouseMotionListener() ne prend pas de MouseListener comme paramètre
    Ce qui est marrant, c'est que cette erreur, je la traîne depuis le début avec le JDK 1.6 et qu'il ne me signale aucune erreur de compilation ou d'exécution et que cela fonctionne bien. J'ai toutefois corrigé cette erreur.



    Citation Envoyé par n!co
    Tu peux configurer ce comportement dans Options - Advanced Options - GUI Builder - Layout Generation Style et mettre Swing Layout Extensions Library au lieu de Automatic. ...
    J'ai fait cette configuration mais j'ai toujours les mêmes erreurs ! Comment faire ?

    cordialement.

    Pierre.

  7. #7
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par ChPr
    Ce qui est marrant, c'est que cette erreur, je la traîne depuis le début avec le JDK 1.6 et qu'il ne me signale aucune erreur de compilation ou d'exécution et que cela fonctionne bien. J'ai toutefois corrigé cette erreur.
    Parce qu'à partir de Java 6 la classe MouseAdapter implémente aussi MouseWheelListener et MouseMotionListener...



    Citation Envoyé par ChPr
    J'ai fait cette configuration mais j'ai toujours les mêmes erreurs ! Comment faire ?
    Si l'erreur survient sur le code déjà généré c'est peut-être normal...
    Il doit y avoir un moyen de le forcer à regénérer le code (mais j'ignore comment)

    a++

  8. #8
    Membre éprouvé
    Avatar de n!co
    Profil pro
    Inscrit en
    Février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    Points : 936
    Points
    936
    Par défaut
    Citation Envoyé par adiGuba
    Citation Envoyé par ChPr
    J'ai fait cette configuration mais j'ai toujours les mêmes erreurs ! Comment faire ?
    Si l'erreur survient sur le code déjà généré c'est peut-être normal...
    Il doit y avoir un moyen de le forcer à regénérer le code (mais j'ignore comment)
    Effectivement, je n'avais pas testé si loin.
    Je viens de voir que c'est configuré dans le fichier .form avec l'attribut FormSettings_layoutCodeTarget, 1 pour Standard Java 6 Code et 2 pour Swing Layout Extensions Library.
    Tu peux le modifier via l'Inspector - clic droit l'élément root, Form TaForm - Properties - Layout Generation Style. Le code sera regénéré automatiquement.
    Par contre, il n'y a visiblement pas moyen d'impacter tous les form d'un projet en meme temps
    Netbeans account : nico@share.java.net
    Merci de ne pas poser de questions techniques par MP

  9. #9
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 022
    Points : 1 049
    Points
    1 049
    Par défaut
    J'ai essayé, en lançant Netbeans avec le JDK 5 de le forcer (via les options) à utiliser la bibliothèque "Swing Layout Extensions Library". Il en démord pas : il utilise des "org.jdesktop.layout.GroupLayout" au lieu des "java.swing.GroupLayout". Donc, effectivement, il faudrait régénérer le code ... mais comment ?

    Cordialement.

    Pierre.

  10. #10
    Membre éprouvé
    Avatar de n!co
    Profil pro
    Inscrit en
    Février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    Points : 936
    Points
    936
    Par défaut
    Citation Envoyé par ChPr
    J'ai essayé, en lançant Netbeans avec le JDK 5 de le forcer (via les options) à utiliser la bibliothèque "Swing Layout Extensions Library". Il en démord pas : il utilise des "org.jdesktop.layout.GroupLayout" au lieu des "java.swing.GroupLayout". Donc, effectivement, il faudrait régénérer le code ... mais comment ?
    Attention, la bibliothèque d'extention pour le GroupLayout utilise le package org.jdesktop.layout.GroupLayout, alors qu'avec java 6 c'est java.swing.GroupLayout.
    Sinon on ne l'a pas directement précisé car normalement c'est automatique, mais vérifies que ton projet a bien la librairie Swing Layout Extensions dans son classpath.

    Sinon j'ai expliqué plus haut pour changer le style du layout pour un form préci et regénérer automatiquement le code source.
    Netbeans account : nico@share.java.net
    Merci de ne pas poser de questions techniques par MP

  11. #11
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 022
    Points : 1 049
    Points
    1 049
    Par défaut
    Citation Envoyé par n!co
    Effectivement, je n'avais pas testé si loin.
    Je viens de voir que c'est configuré dans le fichier .form avec l'attribut FormSettings_layoutCodeTarget, 1 pour Standard Java 6 Code et 2 pour Swing Layout Extensions Library.
    Tu peux le modifier via l'Inspector - clic droit l'élément root, Form TaForm - Properties - Layout Generation Style. Le code sera regénéré automatiquement.
    Par contre, il n'y a visiblement pas moyen d'impacter tous les form d'un projet en meme temps
    J'ai appliqué cette modif en plus de celle du JDK choisi : ça fonctionne sauf ... que en JDK5, il ne connaît pas l'instruction "txt.isEmpty()". Pas grave, je l'ai remplacée par txt.length() == 0.

    Mais effectivement, il faut modifier manuellement chaque "form".

    [JOKE] NetBeans aurait dû s'appeler "RightClick" [/JOKE]

    En tout cas, merci beaucoup pour cette aide constructive.

    Cordialement.

    Pierre.

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

Discussions similaires

  1. Soucis de compilation avec le JDK
    Par pol2095 dans le forum Général Java
    Réponses: 6
    Dernier message: 05/09/2013, 16h28
  2. Comment savoir avec quel JDK une classe est compilé
    Par menzlitsh dans le forum Langage
    Réponses: 1
    Dernier message: 11/05/2009, 17h21
  3. Compilation avec JDK 1.5
    Par Didine981 dans le forum Maven
    Réponses: 3
    Dernier message: 29/09/2008, 08h09
  4. Faire une compilation maven avec une JDK 1.5
    Par ggalou08 dans le forum Maven
    Réponses: 5
    Dernier message: 07/04/2008, 15h51
  5. Réponses: 3
    Dernier message: 15/02/2008, 09h06

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