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" "