Ошибка запуска SmartGit/Hg

Для личного проекта я пытался заставить SmartGit / Hg работать с портативного диска. Для этого я использую "универсальную" версию, которая работает только на Java. К сожалению, каждый раз, когда я пытаюсь запустить его, появляются следующие ошибки:

Ошибка вызова SmartGit/Hg
java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(собственный метод)
    at sun.reflect.NativeMethodAccessorImpl.invoke(неизвестный источник)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(неизвестный источник)
    в java.lang.reflect.Method.invoke(Неизвестный источник)
    в QBootLoader.main(SourceFile:112)
Вызвано: java.lang.NoClassDefFoundError: org/eclipse/swt/widgets/Display
    в com.syntevo.q.gui.cl.a(SourceFile:43)
    на smartgit.Xl.a(SourceFile:320)
    на smartgit.anQ.a(SourceFile:229)
    на smartgit.anQ.b(SourceFile:185)
    на smartgit.anQ.a(SourceFile:72)
    на smartgit.anR.a(Исходный файл:114)
    at smartgit.anR.call(SourceFile:111)
    в com.syntevo.q.gui.cl.a(SourceFile:84)
    на smartgit.anQ.a(SourceFile:111)
    на smartgit.XA.b(SourceFile:62)
    на SmartGit.main(SourceFile:11)
    ... еще 5
Вызывается: java.lang.ClassNotFoundException: org.eclipse.swt.widgets.Display
    at java.net.URLClassLoader$1.run(неизвестный источник)
    at java.net.URLClassLoader$1.run(неизвестный источник)
    at java.security.AccessController.doPrivileged(собственный метод)
    на java.net.URLClassLoader.findClass(неизвестный источник)
    в java.lang.ClassLoader.loadClass(Неизвестный источник)
    at sun.misc.Launcher$AppClassLoader.loadClass(неизвестный источник)
    в java.lang.ClassLoader.loadClass(Неизвестный источник)... еще 16

Так как это коммерческая программа, я не могу на законных основаниях проверить любой из файлов, упомянутых на наличие ошибок. Если кто-нибудь работал со SmartGit / Hg и знает, как исправить эту ошибку, я был бы очень признателен за любую помощь. Я надеюсь, что не слишком конкретный вопрос, который будет удален из списка, поскольку я не смог найти никакой другой информации об ошибках.

Небольшое дополнение к информации: Используемая программа запуска получена из следующего поставляемого файла.sh:

#! / Bin / Баш
#
# Обычно редактирование этого скрипта не требуется.
#
# Чтобы указать альтернативную среду выполнения Java, установите переменную среды SMARTGITHG_JAVA_HOME

if [ "$SMARTGITHG_JAVA_HOME" = "" ]; затем
    SMARTGITHG_JAVA_HOME=$SMARTGIT_JAVA_HOME
фи
if [ "$SMARTGITHG_JAVA_HOME" = "" ] && [ -f "/usr/lib/jvm/java-7-openjdk-i386/jre/bin/java" ]; затем
    SMARTGITHG_JAVA_HOME="/ USR / Библиотека / JVM / Java-7-OpenJDK-i386 / JRE / бен / Java"
фи
if [ "$SMARTGITHG_JAVA_HOME" = "" ]; затем
    SMARTGITHG_JAVA_HOME=$JAVA_HOME
фи

if [ "$SMARTGITHG_MAX_HEAP_SIZE" = "" ]; затем
    SMARTGITHG_MAX_HEAP_SIZE=$SMARTGIT_MAX_HEAP_SIZE
фи
if [ "$SMARTGITHG_MAX_HEAP_SIZE" = "" ]; затем
    SMARTGITHG_MAX_HEAP_SIZE=256m
фи

# это кажется необходимым для Solaris, чтобы найти Каирскую библиотеку
export LD_LIBRARY_PATH = $ {LD_LIBRARY_PATH}: / usr / lib / gnome-private / lib

_JAVA_EXEC = "ява"
if [ "$SMARTGITHG_JAVA_HOME"!= "" ]; затем
    _TMP="$SMARTGITHG_JAVA_HOME/ бен / Java"
    if [ -f "$_TMP" ]; затем
        if [ -x "$_TMP" ]; затем
            _JAVA_EXEC="$_TMP"
        еще
            echo "Предупреждение: $_TMP не является исполняемым"
        фи
    еще
        echo "Предупреждение: $_TMP не существует"
    фи
фи

если! which "$_JAVA_EXEC" >/dev/null; затем
    echo "Ошибка: среда Java не найдена"
    выход 1
фи

#
# Разрешить местоположение установки SmartGit / Hg.
# Это включает в себя разрешение любых символических ссылок.
PRG=$0
while [ -h "$PRG" ]; делать
    ls=`ls -ld "$PRG"`
    link=`expr "$ls": '^.*-> \(.*\)$' 2>/dev/null`
    if expr "$link": '^/' 2> /dev/null >/dev/null; затем
        PRG="$ ссылку"
    еще
        PRG="`dirname "$PRG"`/$link"
    фи
сделанный

SMARTGIT_BIN=`dirname "$ ​​PRG "`

# абсолют
OLDPWD =`pwd`
cd "${SMARTGIT_BIN}"; SMARTGIT_BIN=`pwd`
cd "${oldpwd}"; сбросить oldpwd

SMARTGIT_HOME = `dirname" $ ​​SMARTGIT_BIN "`

# Следующая строка должна обойти следующую ошибку SWT:
# https://bugs.eclipse.org/bugs/show_bug.cgi?id=419729
UBUNTU_MENUPROXY = 0

_VM_PROPERTIES = "- Dsun.io.useCanonCaches = ложь"

# Раскомментируйте следующую строку, чтобы изменить место хранения SmartGit / Hg
# settings (данный пример пути сделает SmartGit / Hg переносимым, сохранив настройки
# в каталоге установки):
#_VM_PROPERTIES="$_VM_PROPERTIES -Dsmartgit.settings=\${smartgit.installation}/. Smartgit"

$ _JAVA_EXEC $ _VM_PROPERTIES -Xmx $ {SMARTGITHG_MAX_HEAP_SIZE} -Xverify: нет -

1 ответ

В моем случае он неправильно использовал X windows в моем ciXwin. Мне нужно было помнить, чтобы начать мой SSH с:

$ ssh -Y vagrant@localhost

Я понимаю, что вы, возможно, не используете ту же систему, что и моя, но это может дать вам кое-что для продолжения!

Другие вопросы по тегам