SmartGit/Hg 启动错误

SmartGit/Hg 启动错误

对于个人项目,我一直在尝试SmartGit/Hg从便携式驱动器运行。为此,我使用仅在 Java 上运行的“通用”版本。不幸的是,每次我尝试启动它时,都会出现以下错误:

调用 SmartGit/Hg 时出错
java.lang.reflect.InvocationTargetException
    在 sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
    在 sun.reflect.NativeMethodAccessorImpl.invoke(未知来源)
    在 sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源)
    在 java.lang.reflect.Method.invoke(未知来源)
    在 QBootLoader.main(源文件:112)
导致原因:java.lang.NoClassDefFoundError:org/eclipse/swt/widgets/Display
    在 com.syntevo.q.gui.cl.a(源文件:43)
    在 smartgit.Xl.a(源文件:320)
    在 smartgit.anQ.a(源文件:229)
    在 smartgit.anQ.b(源文件:185)
    在 smartgit.anQ.a(源文件:72)
    在 smartgit.anR.a(源文件:114)
    在 smartgit.anR.call(源文件:111)
    在 com.syntevo.q.gui.cl.a(源文件:84)
    在 smartgit.anQ.a(源文件:111)
    在 smartgit.XA.b(源文件:62)
    在 SmartGit.main(SourceFile:11)
    ... 另外 5 个
原因:java.lang.ClassNotFoundException:org.eclipse.swt.widgets.Display
    在 java.net.URLClassLoader$1.run(未知来源)
    在 java.net.URLClassLoader$1.run(未知来源)
    在 java.security.AccessController.doPrivileged(本机方法)
    在 java.net.URLClassLoader.findClass(未知来源)
    在 java.lang.ClassLoader.loadClass(未知来源)
    在 sun.misc.Launcher$AppClassLoader.loadClass(未知来源)
    在 java.lang.ClassLoader.loadClass(未知来源)
    ... 另外 16 个

由于这是一个商业程序,我无法合法地检查上述任何文件是否有错误。如果有人使用过 SmartGit/Hg 并且知道如何修复此错误,我将不胜感激。我希望这个问题不是太具体以至于不能从列表中删除,因为我找不到有关错误的任何其他信息。

稍微补充一下信息:正在使用的启动器源自以下提供的.sh 文件:

/bin/bash #!/bin/bash
#
# 通常情况下,不需要编辑此脚本。
#
# 要指定备用 Java 运行时环境,请设置环境变量 SMARTGITHG_JAVA_HOME

如果 [ “$SMARTGITHG_JAVA_HOME” = “” ] ; 然后
    SMARTGITHG_JAVA_HOME=$SMARTGIT_JAVA_HOME
如果 [ “$SMARTGITHG_JAVA_HOME” = “” ] && [ -f “/usr/lib/jvm/java-7-openjdk-i386/jre/bin/java” ] ; 然后
    SMARTGITHG_JAVA_HOME="/usr/lib/jvm/java-7-openjdk-i386/jre/bin/java"
如果 [ “$SMARTGITHG_JAVA_HOME” = “” ] ; 然后
    SMARTGITHG_JAVA_HOME=$JAVA_HOME

如果 [ “$SMARTGITHG_MAX_HEAP_SIZE” = “” ] ; 然后
    SMARTGITHG_MAX_HEAP_SIZE=$SMARTGIT_MAX_HEAP_SIZE
如果 [ “$SMARTGITHG_MAX_HEAP_SIZE” = “” ] ; 然后
    SMARTGITHG_MAX_HEAP_SIZE=256米

# 这似乎是 Solaris 找到 Cairo 库所必需的
导出 LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/lib/gnome-private/lib

_JAVA_EXEC="java"
如果 [ “$SMARTGITHG_JAVA_HOME” != “” ] ; 然后
    _TMP="$SMARTGITHG_JAVA_HOME/bin/java"
    如果 [ -f "$_TMP" ] ; 那么
        如果 [ -x "$_TMP" ] ; 那么
            _JAVA_EXEC="$_TMP"
        别的
            echo“警告:$_TMP 不可执行”
    别的
        echo“警告:$_TMP 不存在”

如果 !“$_JAVA_EXEC”>/dev/null ; 然后
    echo“错误:未找到 java 环境”
    出口 1

#
# 解析SmartGit/Hg 安装的位置。
# 这包括解析任何符号链接。
PRG=$0
while [ -h "$PRG" ]; 执行
    ls=`ls-ld“$PRG”`
    link=`expr“$ls”:'^.*->\(.*\)$'2>/dev/null`
    如果 expr "$link" : '^/' 2> /dev/null >/dev/null; 那么
        PRG="$link"
    别的
        PRG="`目录名称"$PRG"`/$link"
完毕

SMARTGIT_BIN=`目录名称 "$PRG"`

# 绝对化目录
oldpwd=`密码`
cd“${SMARTGIT_BIN}”;SMARTGIT_BIN=`pwd`
cd "${oldpwd}"; 取消设置 oldpwd

SMARTGIT_HOME=`目录名称 "$SMARTGIT_BIN"`

# 下一行是为了解决以下 SWT 错误:
#https://bugs.eclipse.org/bugs/show_bug.cgi?id=419729
UBUNTU_MENUPROXY=0

_VM_PROPERTIES="-Dsun.io.useCanonCaches=false"

# 取消注释以下行以更改 SmartGit/Hg 的存储位置
# 设置(给定的示例路径将通过存储设置使 SmartGit/Hg 可移植
# 在安装目录中):
#_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” “$@”

答案1

就我而言,它无法在 ciXwin 中正确使用 X windows。我需要记住使用以下命令启动 SSH:

$ ssh -Y vagrant@localhost

我知道您可能没有使用与我相同的系统,但这可能会给您提供一些参考!

相关内容