Ошибка запуска 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
Я понимаю, что вы, возможно, не используете ту же систему, что и моя, но это может дать вам кое-что для продолжения!