JNI + Eclipse

cs_kcin Messages postés 63 Date d'inscription vendredi 5 novembre 2004 Statut Membre Dernière intervention 26 novembre 2012 - 25 oct. 2007 à 11:47
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 - 25 oct. 2007 à 12:28
Bonjour à tous.

J'essaye depuis quelques jours d'apprendre le JAVA à l'aide d'un bouquin que je trouvé. Or j'ai un petit soucis lors de l'éxécution d'un des scripts de test que voici :

public class Date {

    int jour;
    int mois;
    int an;
    static Date Jourdelan;
   
    static{
       
        Jourdelan = new Date();
        Jourdelan.jour = 1;
        Jourdelan.mois = 1;
    }

    public static void main (String [] args){
        Date D1, D2, D3;
       
        D1 = new Date();
        D2 = new Date();
        D3 = new Date();
       
        D1.jour = 11;
        D1.mois = 9;
        D1.an = 1981;
        D2.jour = 18;
        D2.mois = 8;
        D2.an = 1983;
        D3.jour = 1;
        D3.mois = 14;
        D3.an = 1984;
       
        D1.afficher();
        D2.afficher();
        D3.afficher();
       
        D1.verifDate();
        D2.verifDate();
        D3.verifDate();
    }
   
    public void afficher(){
        System.out.println( "Date : "+jour+" / "+mois+" / "+an);
    }
   
    private boolean verifDate(){
       
        if ((mois < 0) || (mois > 12))
            return false;
        if ( jour < 0 )
            return false;
        switch ( mois ){
        case 1 :
        case 3 :
        case 5 :
        case 7 :
        case 8 :
        case 10 :
        case 12 :
            if ( jour > 31 )
                return false;
            break;
        case 2 :
            if ( jour > 28 )
                return false;
            break;
        case 4 :
        case 6 :
        case 9 :
        case 11 :
           
            if ( jour > 30 )
                return false;
            break;
        }
       
        return true;
    }
}

Et au débug, j'obtiens de temps en temps ce message :
ERROR: JDWP Unable to get JNI 1.2 environment, jvm->GetEnv() return code = -2
JDWP exit error AGENT_ERROR_NO_JNI_ENV(183):  [../../../src/share/back/util.c:820]

J'utilise Eclipse 3.1 VF et mon jre est le 1.6.0_03.
Si vous pouviez m'aider à comprendre ce problème ca serait très gentil...

Merci d'avance.

Kcin ( Noob par exelence en java ^^ )

1 réponse

Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
25 oct. 2007 à 12:28
Salut,

<meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8" /><title></title><meta name="GENERATOR" content="OpenOffice.org 2.2 (Linux)" /><meta name="CREATED" content="20071025;12235200" /><meta name="CHANGED" content="16010101;0" /><style type="text/css"><!--
@page { size: 21cm 29.7cm; margin: 2cm }
P { margin-bottom: 0.21cm }
--></style>
1 - assure toi que ton eclipse est bien exécuté avec la JVM de sun et non gcj ou blackdown
2 - pour le jdk 1.5 et supérieur il est préférable d'utiliser la version europa (3.3) d'eclipse
3 - si le problème persiste : downgrade ton jdk en version 1.5
4 - essai d'ajouter un System.exit(0); à la fin de ta méthode main (certains ont résolu le prob ainsi)

Pour info tu n'est pas le seul à avoir le problème et il est connu de sun :
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6476706

Voici ma config (qui fonctionne):
Gentoo 2007.0 compilé pour core 2 duo
jdk 1.5.0.07 (c'est lui qui run mon eclipse)
Eclipse Europa (3.3)
j'ai également ajouté les jvm suivantes dans la config d'eclipse : jdk1.3.1_20, j2sdk1.4.2_14, jdk1.5.0_07, jdk1.6.0_02

j'ai également testé sur cette config :
Kubuntu 7.04 kernel 2.6.20-16-generic SMP
le reste comme pour la gentoo

j'ai beau faire des switch de jvm je n'ai pas le problème que tu as...

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
0
Rejoignez-nous