Para um projeto pessoal, estou tentando fazer com que o SmartGit / Hg execute a partir de uma unidade portátil. Para fazer isso, estou usando a versão "genérica" que roda apenas em Java. Infelizmente, sempre que tento iniciá-lo, os seguintes erros aparecem:
Erro ao invocar o SmartGit / Hg
java.lang.reflect.InvocationTargetException
em sun.reflect.NativeMethodAccessorImpl.invoke0 (método nativo)
at sun.reflect.NativeMethodAccessorImpl.invoke (fonte desconhecida)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (fonte desconhecida)
em java.lang.reflect.Method.invoke (fonte desconhecida)
em QBootLoader.main (SourceFile: 112)
Causado por: java.lang.NoClassDefFoundError: org / eclipse / swt / widgets / Display
em com.syntevo.q.gui.cl.a (SourceFile: 43)
em smartgit.Xl.a (SourceFile: 320)
em smartgit.anQ.a (SourceFile: 229)
em smartgit.anQ.b (SourceFile: 185)
em smartgit.anQ.a (SourceFile: 72)
em smartgit.anR.a (SourceFile: 114)
em smartgit.anR.call (SourceFile: 111)
em com.syntevo.q.gui.cl.a (SourceFile: 84)
em smartgit.anQ.a (SourceFile: 111)
em smartgit.XA.b (SourceFile: 62)
no SmartGit.main (SourceFile: 11)
... mais 5
Causado por: java.lang.ClassNotFoundException: org.eclipse.swt.widgets.Display
em java.net.URLClassLoader $ 1.run (fonte desconhecida)
em java.net.URLClassLoader $ 1.run (fonte desconhecida)
em java.security.AccessController.doPrivileged (método nativo)
em java.net.URLClassLoader.findClass (fonte desconhecida)
at java.lang.ClassLoader.loadClass (fonte desconhecida)
at sun.misc.Launcher $ AppClassLoader.loadClass (fonte desconhecida)
at java.lang.ClassLoader.loadClass (fonte desconhecida)
... mais 16
Como este é um programa comercial, não posso verificar legalmente nenhum dos arquivos mencionados quanto a erros. Se alguém já trabalhou com o SmartGit / Hg e sabe como corrigir esse erro, agradeceria muito qualquer ajuda. Espero que não seja uma pergunta muito específica a ser removida da listagem, pois não encontrei outras informações sobre os erros.
Pequena adição às informações: o iniciador que está sendo usado é derivado do seguinte arquivo .sh fornecido:
#! / bin / bash
#
# Normalmente, a edição deste script não deve ser necessária.
#
# Para especificar um Java Runtime Environment alternativo, configure a variável de ambiente SMARTGITHG_JAVA_HOME
if ["$ SMARTGITHG_JAVA_HOME" = ""]; então
SMARTGITHG_JAVA_HOME = $ SMARTGIT_JAVA_HOME
fi
if ["$ SMARTGITHG_JAVA_HOME" = ""] && [-f "/ usr / lib / jvm / java-7-openjdk-i386 / jre / bin / java"]; então
SMARTGITHG_JAVA_HOME = "/ usr / lib / jvm / java-7-openjdk-i386 / jre / bin / java"
fi
if ["$ SMARTGITHG_JAVA_HOME" = ""]; então
SMARTGITHG_JAVA_HOME = $ JAVA_HOME
fi
if ["$ SMARTGITHG_MAX_HEAP_SIZE" = ""]; então
SMARTGITHG_MAX_HEAP_SIZE = $ SMARTGIT_MAX_HEAP_SIZE
fi
if ["$ SMARTGITHG_MAX_HEAP_SIZE" = ""]; então
SMARTGITHG_MAX_HEAP_SIZE = 256m
fi
# isso parece necessário para o Solaris encontrar a biblioteca do Cairo
exportar LD_LIBRARY_PATH = $ {LD_LIBRARY_PATH}: / usr / lib / gnome-private / lib
_JAVA_EXEC = "java"
if ["$ SMARTGITHG_JAVA_HOME"! = ""]; então
_TMP = "$ SMARTGITHG_JAVA_HOME / bin / java"
if [-f "$ _TMP"]; então
if [-x "$ _TMP"]; então
_JAVA_EXEC = "$ _ TMP"
outro
eco "Aviso: $ _TMP não é executável"
fi
outro
eco "Aviso: $ _TMP não existe"
fi
fi
E se ! qual "$ _JAVA_EXEC"> / dev / null; então
eco "Erro: nenhum ambiente java encontrado"
saída 1
fi
#
# Resolva o local da instalação do SmartGit / Hg.
# Isso inclui resolver quaisquer links simbólicos.
PRG = $ 0
while [-h "$ PRG"]; Faz
ls = `ls -ld" $ PRG "`
link = `expr" $ ls ": '^. * -> \ (. * \) $' 2> / dev / null`
se expr "$ link": '^ /' 2> / dev / null> / dev / null; então
PRG = "$ link"
outro
PRG = "` dirname "$ PRG" `/ $ link"
fi
feito
SMARTGIT_BIN = `dirname" $ PRG "`
# absolutize dir
oldpwd = `pwd`
cd "$ {SMARTGIT_BIN}"; SMARTGIT_BIN = `pwd`
cd "$ {oldpwd}"; desabilitar oldpwd
SMARTGIT_HOME = `dirname" $ SMARTGIT_BIN "`
# A próxima linha é solucionar o seguinte erro SWT:
# https://bugs.eclipse.org/bugs/show_bug.cgi?id=419729
UBUNTU_MENUPROXY = 0
_VM_PROPERTIES = "- Dsun.io.useCanonCaches = false"
# Remova o comentário da linha a seguir para alterar o local onde o SmartGit / Hg deve armazenar
# settings (o caminho de exemplo fornecido tornará o SmartGit / Hg portátil armazenando as configurações
# no diretório de instalação):
#_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" "