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

avec Java Discussion :

API JavaMail - Gmail imap


Sujet :

avec Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 265
    Points : 179
    Points
    179
    Par défaut API JavaMail - Gmail imap
    Bonjour,

    je rencontre un petit problème avec cette librairie qui me renvoie une exception quand le module est lancé depuis le .jar sous linux Ubuntu mais qui fonctionne très bien sur Eclipse ou lancé sous OS Windows.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Exception in thread "main" javax.mail.NoSuchProviderException: No provider for imaps
    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
    public class ClassMain {
     
    	public static void main(String args[]) throws MessagingException {
    	    String host = "imap.gmail.com";
    	    String username = "XXXXXX";
    	    String password = "XXXXX";
    	    Properties props = new Properties();
    	    props.setProperty("mail.imaps.port", "993");
    	    props.setProperty("mail.imaps.connectiontimeout", "5000");
    	    props.setProperty("mail.imaps.timeout", "5000");
    	    Session session = Session.getInstance(props);
    	    Store store = session.getStore("imaps");
    	    store.connect(host, username, password);
    	    System.out.println(store);
    	}
    }
    Librairie : JavaMail 1.4.7

    Auriez vous une petite idée ?

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 265
    Points : 179
    Points
    179
    Par défaut
    En continuant mes petites investigations, je m’aperçois que l'exception n'est pas déclenchée seulement avec Linux mais aussi avec différents postes sous Windows.

    Le problème arrive à se régler en modifier les paramètres du "Runnable JAR File".

    en sélectionnant :
    • Package required libraries into generated JAR

    plutôt que :
    • Extract required libraries into generated JAR


    Mais pourquoi ?? Mystère !!!!

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 394
    Points : 639
    Points
    639
    Par défaut
    Bonjour,

    La raison est que JavaMail a besoin du JAR javax-mail pour fonctionner.

    Si tu ne coches pas "Package required libraries into generated JAR" alors Eclipse n'exporte que la librairie elle même sans ses dépendances. Il te faut alors fournir les dépendances au runtime en passant l'option "-cp" a ta ligne de commande pour indiquer où se trouvent les jar dont dépend ton application.

    Si tu ne souhaites pas passer les dépendances au runtime, alors tu dois cocher l'option "Package required libraries into generated JAR" qui veut dire "inclue moi les dépendances de mon projet à l'intérieur du jar généré".

    Romain.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 265
    Points : 179
    Points
    179
    Par défaut
    Tout d’abord, merci pour cette explication qui me permet de mieux appréhender le problème des dépendances.

    Mais alors, comment se fait t'il que sur un poste avec Eclipse et les librairies JavaMail installé, je génère le JAR avec l'option "Extract required libraries into generated JAR", et le module ne déclenche pas une exception, sans passer l'option "-cp" dans la ligne de commande. Alors que sur un autre poste, avec aussi Eclipse et les libs, l’exception est déclenchée. Où peut être l'option de configuration que j'ai modifié ?

    C'est un peu à ce niveau là que je suis perdu.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 265
    Points : 179
    Points
    179
    Par défaut
    Ok vu !!!!! Cette histoire de dépendances m'a mis la puce à l'oreille.

    En définitive j'utilise deux libs différentes de JavaMail : 1.4.5 et 1.4.7

    Avec la 1.4.5 :
    • Extract required libraries into generated JAR => OK
    • Package required libraries into generated JAR => OK

    Avec la 1.4.7 :
    • Extract required libraries into generated JAR => Exception declenchée
    • Package required libraries into generated JAR => OK


    Je n'ai pas su trouver l'explication dans la doc Oracle concernant ce changement dans la version 1.4.7.

    Si des fois quelqu'un tombe sur la ligne, je suis preneur !!!!!

    Et surtout, bonnes fêtes de fin d'année !!!!

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 265
    Points : 179
    Points
    179
    Par défaut
    La nuit porte conseil, donc suite et fin.

    Ce n'est absolument pas une histoire de version, mais tout simplement que sur un poste j'ai le mail.jar qui se trouve dans le Java Buid path, et sur l'autre non !!!!!

    Tiens, la période s'y prête, je vais en profiter pour commander quelques neurones.

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

Discussions similaires

  1. comment telecharger L API JavaMail
    Par dajdouja dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 09/07/2008, 16h19
  2. api javamail et outlook
    Par mouadh dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 28/02/2008, 17h17
  3. Api Javamail - Eclipse
    Par squalito dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 08/02/2007, 01h32
  4. installer un API (Javamail pour etre précis)
    Par jbjweb dans le forum API standards et tierces
    Réponses: 7
    Dernier message: 13/07/2006, 18h36
  5. [JavaMail]Probleme avec API JavaMail
    Par spk4ever dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 10/04/2006, 16h39

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