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

MATLAB Discussion :

[Java] cast de classe Java dans une fonction Matlab


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2005
    Messages : 11
    Points : 11
    Points
    11
    Par défaut [Java] cast de classe Java dans une fonction Matlab
    Bonjour à tous,

    Je souhaite développer une fonction Matlab permettant de charger dynamiquement (sans editer le classpath de Matlab) un jar.

    Pour cela, j'ai déjà un code en Java qui fonctionne. Je peux le mettre dans un jar, l'ajouter au classpath de Matlab et l'appeller depuis Matlab. Ca fonctionne.

    Voici le code:

    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
     
    private static final Class[] parameters = new Class[] { URL.class };
     
    public static void loadJar(String fileName) throws IOException
    {
       URL url = new File(fileName).toURL();
     
       URLClassLoader classLoader = (URLClassLoader)ClassLoader.getSystemClassLoader();
     
       Class sysclass = URLClassLoader.class;
     
       try
       {
          Method method = sysclass.getDeclaredMethod("addURL", parameters);
          method.setAccessible(true);
          method.invoke(classLoader, new Object[] { url });		
       }
       catch (Throwable throwable)
       {
          throwable.printStackTrace();
       }
    }
    Maintenant, j'aimerais convertir ce code Java en une fonction Matlab. Hors, je peine avec la ligne suivante:
    URLClassLoader classLoader = (URLClassLoader)ClassLoader.getSystemClassLoader();

    Comment faire le cast de ClassLoader en URLClassLoader ?

    Voici ce que j'ai pour l'instant en Matlab:
    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
     
    function loadJar(jarFile)
        import java.lang.*;
        import java.io.File;
        import java.io.IOException;
        import java.lang.reflect.Method;
        import java.net.URL;
        import java.net.URLClassLoader;
     
        file = File(jarFile);
        url = file.toURL();
     
        classLoader = ClassLoader.getSystemClassLoader();
        urlClassLoader = cast(classLoader, 'java.net.URLClassLoader');    
     
        urlClassLoader.addURL(url);
    J'obtiens l'erreur suivante:
    >>loadJar('C:/loadJar.jar')
    ??? Error using ==> cast
    Unsupported class for conversion.

    Error in ==> loadJar at 16
    urlClassLoader = cast(classLoader, 'java.net.URLClassLoader');
    Si quelqu'un a un peu d'expérience avec l'utilisation de Java depuis Matlab...

    Merci d'avance

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2005
    Messages : 11
    Points : 11
    Points
    11
    Par défaut
    Bon, j'ai remplacé la fonction que je voulais développer par un simple appel à javaaddpath. C'est encore mieux comme ça.

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

Discussions similaires

  1. Plusieurs classes CSS dans une fonction JavaScript
    Par Lillie CHARLOTTE dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 25/05/2015, 15h29
  2. Réponses: 1
    Dernier message: 07/10/2011, 10h21
  3. Problème ginput dans une fonction matlab
    Par matt67 dans le forum MATLAB
    Réponses: 12
    Dernier message: 05/06/2007, 15h24
  4. Réponses: 4
    Dernier message: 05/10/2005, 18h19
  5. Executer de l'asp dans une fonction java
    Par ober dans le forum ASP
    Réponses: 2
    Dernier message: 03/01/2005, 09h31

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