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

Applets Java Discussion :

[Applet] Recharger JVM sans relancer le navi


Sujet :

Applets Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de keil
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    261
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 261
    Par défaut [Applet] Recharger JVM sans relancer le navi
    Bonjour,
    J'ai une applet qui copie des fichiers (lib+jar) dans les dossiers systèmes du jre. ensuite, je souhaite lancer une autre applet qui contient le package copié auparavant.
    Si je vais d'une applet à l'autre sans fermer le navi, la 2e applet crash.
    Si je ferme puis relance la navi, la 2e applet fonctionne.
    Existe-t-il un moyen d'arriver à passer d'une applet à l'autre sans relancer le navi?

  2. #2
    Membre confirmé
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2005
    Messages : 29
    Par défaut
    As tu essayé en demandant spécifiquement le chargement de la classe avec un loadClass() (de la class ClassLoader) :
    C.

  3. #3
    Membre confirmé Avatar de keil
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    261
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 261
    Par défaut
    C'est a dire que, javais commencé a faire comme ca, mais c'est devenu vite compliqué et illisible. Des Class.forName, getConstructors, getMethod, newInstance de partout.
    J'ai vite abandonné l'histoire.

    Sinon, ca marcherait selon toi, si dans ma 1e applet, je charge justement la 2e applet avec le ClassLoader?

    Je vais tester quand meme, mais je doute qu'il y ait des résultats;

  4. #4
    Membre confirmé Avatar de keil
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    261
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 261
    Par défaut
    j'ai pas test mais ca marchera pas parce que, le package n'est pas en memoire jvm, donc meme avec le classLoader, il va me dire qu'il connait pas certains package et donc ca va foirer.

  5. #5
    Membre confirmé
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2005
    Messages : 29
    Par défaut
    par contre si tu connais le nom du jar ton applet doit pouvoir la loader :
    petit exemple trouver sur le forum java de sun (http://forum.java.sun.com/thread.jsp...hreadID=435579):
    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
    import java.io.*;
    import java.net.*;
    import java.util.*;
    import java.util.jar.*;
     
    /**
    * @author Matthew D. Hicks
    */
    public class JARClassLoader extends URLClassLoader {
      protected File file;
      protected JarFile jar;
     
    public JARClassLoader(File file) throws MalformedURLException, IOException {
      super(new URL[] {file.toURL()});
      this.file = file;
      this.jar = new JarFile(file);
    }
     
    public Class[] getClasses() throws ClassNotFoundException {
      ArrayList list = new ArrayList(500);
      Enumeration e = jar.entries();
      JarEntry entry;
      while (e.hasMoreElements()) {
        entry = (JarEntry)e.nextElement();
        if ((!entry.isDirectory()) && (entry.getName().endsWith(".class"))) {
        list.add(entry.getName().replaceAll("/", ".").substring(0, entry.getName().length() - 6));
        }
      }
      Class[] classes = new Class[list.size()];
      for (int i = 0; i < list.size(); i++) {
        classes = this.loadClass((String)list.get(i));
      }
      return classes;
    }
     
    public static void main(String[] args) throws Exception {
      File file = new File("myclasses.jar");
      JARClassLoader loader = new JARClassLoader(file);
      Class[] classes = loader.getClasses();
      for (int i = 0; i < classes.length; i++) {
        System.out.println("Class: " + classes.getName());
     }
    }
    }
    T'en penses quoi ?
    C.

  6. #6
    Membre confirmé Avatar de keil
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    261
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 261
    Par défaut
    bon je reprend, lol

    1e applet = telechargement des bibliotheques
    pour prendre en compte ces bibliotheques, la jvm doit etre redemarrée, c'est à dire: fermeture du navi puis rouverture

    si on a pas les bibli, la 2e applet crash, sinon c'est bon, ca passe.

    donc, ce que je recherche, c'est pas comment lancer la 2e applet sans fermer le navi et sans faire de lien, je veux juste que ma jvm prenne en compte les bibli sans que j'ai besoin de redémarrer le navi

    j'espere avoir été plus compréhensible, donc si t'as des idées, je suis preneur

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    509
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 509
    Par défaut
    Je vais peut etre dire une grosse betise , mais pourquoi ne pas mettre toutes les ressources dans le Jar de ta 2eme applet ??

  8. #8
    Membre confirmé Avatar de keil
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    261
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 261
    Par défaut
    pcq meme si les resources sont dans le jar, la jvm ne les a pas chargés, notament les dll

  9. #9
    Membre confirmé Avatar de keil
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    261
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 261
    Par défaut
    ok, je reflechis maintenant et je test ce soir
    - 1e applet qui telecharge les dlls uniquement, pour les jar c'est pas grave car on les aura après
    - 2e applet avec des System.loadLibrary(); liée a un fichier html qui contient plusieurs archives dont les jar que je voulais faire telecharger par la 1e applet.

    j'espere que ca fonctionnera.
    Chercher c'est bien, mais chercher au bon endroit c'est mieux.
    Si ma solution est juste, alors j'ai été trop bete de me prendre la tete

Discussions similaires

  1. Paramètres JVM sans paser par la console
    Par astrotouf dans le forum Websphere
    Réponses: 2
    Dernier message: 22/07/2011, 15h31
  2. Execution JVM sans installation sous Linux
    Par Jacques - 06 dans le forum Langage
    Réponses: 5
    Dernier message: 21/12/2009, 10h45
  3. Passer en elevated sans relancer.
    Par unmanos dans le forum Windows
    Réponses: 5
    Dernier message: 31/08/2009, 11h29
  4. Réponses: 2
    Dernier message: 26/11/2008, 15h37
  5. Intégrer des classes Java sans relancer Tomcat
    Par tibouchou dans le forum Tomcat et TomEE
    Réponses: 5
    Dernier message: 09/07/2007, 10h17

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