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 Perl Discussion :

Appel d'une classe Java à partir de Perl


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de hadler
    Inscrit en
    Décembre 2004
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Décembre 2004
    Messages : 91
    Par défaut Appel d'une classe Java à partir de Perl
    Bonjour à tous,

    Je débute dans Perl, et je cherche à faire appel à une classe java que j'ai développé, à partir de Perl.

    J'ai cherché dans les FAQS et sur le forum, mais je n'ai rien trouvé.

    En fait, mon programme java est composée d'une classe qui expose une méthode, et qui a une dépendance vers 2 jars.

    J'aimerais, à partir de Perl, faire appel à la méthode contenue dans ma classe java.

    Si ça peut aider, ou pas, cette méthode est également la méthode main de la classe.

    Merci à ceux qui pourront m'aider,

    Hadler.

  2. #2
    Membre chevronné Avatar de Mandraxx
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2011
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2011
    Messages : 182
    Par défaut
    Bonjour,

    Je ne suis pas spécialiste de Perl mais à mon avis, c'est comme les maths : il faut chercher le plus grand commun dénominateur .

    En l’occurrence, il semble que ce soit C... la JNI vous permet de démarrer une JVM, de charger des composants JAVA et d'appeler des méthodes (http://java.sun.com/docs/books/jni/html/jniTOC.html).
    Le code d'Eclipse (http://dev.eclipse.org/viewcvs/viewv...ncher/library/) est un bon exemple d'utilisation de cette interface.

    De son côté, Perl propose des mécanismes d'extension pour appeler du C (http://docstore.mik.ua/orelly/perl2/prog/ch21_03.htm).

    @+

  3. #3
    Membre confirmé Avatar de hadler
    Inscrit en
    Décembre 2004
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Décembre 2004
    Messages : 91
    Par défaut
    Passer par du C pour appeler du Java, j'avoue que j'ai quand même du mal à imaginer ça

  4. #4
    Membre chevronné Avatar de Mandraxx
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2011
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2011
    Messages : 182
    Par défaut
    Je donne juste une piste là : pas une solution miracle

    Dans tous les cas, d'un point de vue architectural, il n'y a que deux options :

    1. Opérer une liaison dynamique entre les deux technologies
    2. Urbaniser l'interconnexion via des systèmes d'échanges normalisés (RPC, WebServices, etc.) ou un protocole de communication plus commun (Pipes) qui peut parfois être dépendant du système d'exploitation (ce qui est antinomique avec l'utilisation de Perl et JAVA qui sont tous deux portables)

    Vu le besoin, j'ai donc écarté d'office la deuxième option qui me semble être une grosse usine à gaz.

    Donc, si on se concentre sur la première option, je dirai que l'intérêt d'une approche architecturale, c'est qu'on rationalise la problématique pour la factoriser à sa plus simple expression : perl + JNI dans Google et hop => http://search.cpan.org/~ping/PBJ-JNI-0.1/

    Visiblement quelqu'un a déjà fait le bout de code C qui règle le problème d'interconnexion...

    @+

  5. #5
    Membre confirmé Avatar de hadler
    Inscrit en
    Décembre 2004
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Décembre 2004
    Messages : 91
    Par défaut
    Et je te remercie pour ton idée

    Mais ce que je cherche surtout à savoir, c'est s'il est possible que perl fasse appel à java, sans passer par une combine externe.

    Et si oui, alors comment.

  6. #6
    Membre confirmé Avatar de hadler
    Inscrit en
    Décembre 2004
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Décembre 2004
    Messages : 91
    Par défaut
    j'ai contourner le problème en utilisant system() et en donnant des commandes dos.
    Mais je ne trouve toujours pas ça propre

  7. #7
    Membre chevronné Avatar de Beniou
    Homme Profil pro
    Inscrit en
    Novembre 2009
    Messages
    357
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Novembre 2009
    Messages : 357
    Par défaut
    Je pense que cela est faisable avec le module Inline::Java même si je ne l'ai personnellement jamais testé.

    En recherchant sur goole j'ai par exemple trouvé un début de code : en mettant le chemin vers ton jar dans la variable CLASSPATH.

    A tester...

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/09/2013, 23h07
  2. appel d'une classe java dans pl/sql
    Par sirine1 dans le forum PL/SQL
    Réponses: 11
    Dernier message: 06/04/2009, 09h34
  3. appel d'une classe java dans un jsp
    Par kanzarih dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 01/03/2007, 13h06
  4. Générer une classe java à partir d'une autre
    Par hebmaster dans le forum Général Java
    Réponses: 5
    Dernier message: 29/05/2006, 16h09
  5. appel d'une class java en javascript ou autre
    Par tit_oune dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 04/04/2006, 15h24

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