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