1 votes

Erreur de lancement de SmartGit/Hg

Pour un projet personnel, j'ai essayé de faire fonctionner SmartGit/Hg depuis un lecteur portable. Pour ce faire, j'utilise la version "générique" qui fonctionne uniquement avec Java. Malheureusement, chaque fois que j'essaie de le lancer, les erreurs suivantes apparaissent :

Erreur d'invocation de SmartGit/Hg
java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at QBootLoader.main(SourceFile:112)
Caused by: java.lang.NoClassDefFoundError: org/eclipse/swt/widgets/Display
    at com.syntevo.q.gui.cl.a(SourceFile:43)
    at smartgit.Xl.a(SourceFile:320)
    at smartgit.anQ.a(SourceFile:229)
    at smartgit.anQ.b(SourceFile:185)
    at smartgit.anQ.a(SourceFile:72)
    at smartgit.anR.a(SourceFile:114)
    at smartgit.anR.call(SourceFile:111)
    at com.syntevo.q.gui.cl.a(SourceFile:84)
    at smartgit.anQ.a(SourceFile:111)
    at smartgit.XA.b(SourceFile:62)
    at SmartGit.main(SourceFile:11)
    ... 5 more
Caused by: java.lang.ClassNotFoundException: org.eclipse.swt.widgets.Display
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 16 more

Étant donné qu'il s'agit d'un programme commercial, je ne peux légalement vérifier aucun des fichiers mentionnés pour des erreurs. Si quelqu'un a déjà travaillé avec SmartGit/Hg et sait comment corriger cette erreur, j'apprécierais grandement toute aide. J'espère que ma question n'est pas trop spécifique et qu'elle ne sera pas retirée de la liste, car je n'ai trouvé aucune autre information sur les erreurs.

Légère addition d'information : Le lanceur qui est utilisé est dérivé du fichier .sh fourni suivant :

#!/bin/bash
#
# Normalement, l'édition de ce script ne devrait pas être nécessaire.
#
# Pour spécifier une autre environnement Java, définissez la variable d'environnement SMARTGITHG\_JAVA\_HOME

if \[ "$SMARTGITHG\_JAVA\_HOME" = "" \] ; then
    SMARTGITHG\_JAVA\_HOME=$SMARTGIT\_JAVA\_HOME
fi
if \[ "$SMARTGITHG\_JAVA\_HOME" = "" \] && \[ -f "/usr/lib/jvm/java-7-openjdk-i386/jre/bin/java" \] ; then
    SMARTGITHG\_JAVA\_HOME="/usr/lib/jvm/java-7-openjdk-i386/jre/bin/java"
fi
if \[ "$SMARTGITHG\_JAVA\_HOME" = "" \] ; then
    SMARTGITHG\_JAVA\_HOME=$JAVA\_HOME
fi

if \[ "$SMARTGITHG\_MAX\_HEAP\_SIZE" = "" \] ; then
    SMARTGITHG\_MAX\_HEAP\_SIZE=$SMARTGIT\_MAX\_HEAP\_SIZE
fi
if \[ "$SMARTGITHG\_MAX\_HEAP\_SIZE" = "" \] ; then
    SMARTGITHG\_MAX\_HEAP\_SIZE=256m
fi

# cela semble nécessaire pour que Solaris trouve la bibliothèque Cairo
export LD\_LIBRARY\_PATH=${LD\_LIBRARY\_PATH}:/usr/lib/gnome-private/lib

\_JAVA\_EXEC="java"
if \[ "$SMARTGITHG\_JAVA\_HOME" != "" \] ; then
    \_TMP="$SMARTGITHG\_JAVA\_HOME/bin/java"
    if \[ -f "$\_TMP" \] ; then
        if \[ -x "$\_TMP" \] ; then
            \_JAVA\_EXEC="$\_TMP"
        else
            echo "Attention : $\_TMP n'est pas exécutable"
        fi
    else
        echo "Attention : $\_TMP n'existe pas"
    fi
fi

if ! which "$\_JAVA\_EXEC" >/dev/null ; then
    echo "Erreur : Aucun environnement java trouvé"
    exit 1
fi

#
# Résoudre l'emplacement de l'installation de SmartGit/Hg.
# Cela inclut la résolution de tous les liens symboliques.
PRG=$0
while \[ -h "$PRG" \]; do
    ls=\`ls -ld "$PRG"\`
    link=\`expr "$ls" : '^.\*-> \\(.\*\\)$' 2>/dev/null\`
    if expr "$link" : '^/' 2> /dev/null >/dev/null; then
        PRG="$link"
    else
        PRG="\`dirname "$PRG"\`/$link"
    fi
done

SMARTGIT\_BIN=\`dirname "$PRG"\`

# dir en absolu
oldpwd=\`pwd\`
cd "${SMARTGIT\_BIN}"; SMARTGIT\_BIN=\`pwd\`
cd "${oldpwd}"; unset oldpwd

SMARTGIT\_HOME=\`dirname "$SMARTGIT\_BIN"\`

# La ligne suivante est pour contourner le bogue SWT suivant :
# https://bugs.eclipse.org/bugs/show\_bug.cgi?id=419729
UBUNTU\_MENUPROXY=0

\_VM\_PROPERTIES="-Dsun.io.useCanonCaches=false"

# Décommentez la ligne suivante pour changer l'emplacement où SmartGit/Hg doit stocker
# les paramètres (le chemin d'exemple donné rendra SmartGit/Hg portable en stockant les paramètres
# dans le répertoire d'installation) :
#\_VM\_PROPERTIES="$\_VM\_PROPERTIES -Dsmartgit.settings=\\${smartgit.installation}/.smartgit"

$\_JAVA\_EXEC $\_VM\_PROPERTIES -Xmx${SMARTGITHG\_MAX\_HEAP\_SIZE} -Xverify:none -Dsmartgit.vm-xmx=${SMARTGITHG\_MAX\_HEAP\_SIZE} -jar "$SMARTGIT\_HOME/lib/bootloader.jar" "$@"

0voto

bitmap Points 46

Dans mon cas, je n'utilisais pas correctement X windows dans mon ciXwin. Je devais me souvenir de démarrer mon SSH avec :

$ ssh -Y vagrant@localhost

Je comprends que vous n'utilisez peut-être pas le même système que le mien, mais cela pourrait vous donner une piste !

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X