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

Maven Java Discussion :

Allocation mémoire JAR


Sujet :

Maven Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1
    Par défaut Allocation mémoire JAR
    Bonjour,

    Je réalise un petit projet étudiant qui a pour but d'extraire des informations dans des fichiers XML relativement volumineux à l'aide de JDom (2 fois 8Mo environ).

    Lorsque j'exécute le programme il faut que je lui alloue plus de mémoire sinon il me fait un "java.lang.OutOfMemoryError: Java heap space".
    Le problème ne vient pas d'une mauvaise programmation.
    Dès la mise en mémoire des deux fichiers avec SaxBuilder.build, le programme plante, donc je ne vois pas d'autres solutions que de faire un -Xms -Xmx.

    Je crée un jar contenant les dépendances avec maven et j'aimerai savoir s'il est possible de spécifier une augmentation de mémoire du jar dans le pom, ou quelque chose du genre ?

    Pour le moment, j'ai crée une main class pour mon jar qui appel le vrai programme avec Runtime.getRuntime().exec() en passant en arguments mes Xms Xmx.
    Je trouve ça très crade, mais à priori j'ai rien trouvé de mieux sur le net…

    Vous feriez comment ?

  2. #2
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Une autre idée est de fournir un .bat (ou .sh selon ton environnement) qui va lancer le JAR et qui fournira les bonnes informations sur la quantité de mémoire nécessaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java -Xms128M -Xmx256M -jar ma-librairie.jar
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  3. #3
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    le script est la voie à utiliser. On ne peux pas mettre de paramètres pour la jvm dans le jar.

  4. #4
    Membre éprouvé
    Inscrit en
    Août 2007
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Août 2007
    Messages : 84
    Par défaut
    Si c'est sous Windows, voir launch4j, qui permet d'enrober un JAR executable (ou pas) dans un exe avec des paramètres par défaut.

    Sinon, fournir des .bat, .sh est tout à fait convenable.

Discussions similaires

  1. Pb d'allocation mémoire malloc
    Par oz80 dans le forum C++
    Réponses: 5
    Dernier message: 18/11/2005, 17h23
  2. Limite Allocation Mémoire d'un tableau d'entier
    Par l9ft b9hind dans le forum C++
    Réponses: 5
    Dernier message: 27/10/2005, 19h29
  3. Allocation mémoire
    Par DestyNov@ dans le forum C++
    Réponses: 9
    Dernier message: 23/08/2005, 08h09
  4. [Pointeur] Allocation mémoire
    Par Rayek dans le forum Langage
    Réponses: 22
    Dernier message: 20/05/2005, 10h26
  5. Allocation mémoire dynamique
    Par ITISAR dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 21/01/2005, 09h59

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