在Ubuntu上安装Smartgit出现错误

3
我正在Ubuntu 16.04上安装SmartGit。 .../smartgit_7.1.3-0~eugenesan~xenial1_all.deb .. 看起来,SmartGit已经安装完成,但当我启动它时:
J:~$ smartgit
intx MaxJavaStackTraceDepth=-1 is outside the allowed range [ 0 ... 1073741823 ]
Improperly specified VM option 'MaxJavaStackTraceDepth=-1'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

Java似乎也没问题

    J:~$ java -version
openjdk version "9-internal"
OpenJDK Runtime Environment (build 9-internal+0-2016-04-14-195526.buildd.src)
OpenJDK Server VM (build 9-internal+0-2016-04-14-195526.buildd.src, mixed mode)
J:~$ 

有任何想法,可能出了什么问题吗?


不管是否离题,这正是我在寻找的。 - Tiago Bértolo
1个回答

4
bin/smartgit.sh中,将以下行从原来的代码更改为:
_MISC_OPTS="-Xverify:none -XX:MaxJavaStackTraceDepth=-1 -Dsun.io.useCanonCaches=false"

to

_MISC_OPTS="-Xverify:none -XX:MaxJavaStackTraceDepth=1000000 -Dsun.io.useCanonCaches=false"

这个修复已经在SmartGit 7.2 预览版中出现了。

我找不到你提到的那一行。但是我有这一行_MISC_OPTS="-Xverify:none -Dsun.io.useCanonCaches=false"。添加你建议的那一行没有任何效果,无论如何还是谢谢。我会尝试预览。 - katang
那么你的 smartgit.sh 中没有 -XX:MaxJavaStackTraceDepth= 吗? - mstrap
最终,我找到了原因:安装程序将smartgit安装在我的主目录下,但软链接仍然指向/usr/share... 在将您提到的预览复制到/usr/share后,我收到了“不支持的系统类加载器jdk.internal.loader.ClassLoaders$AppClassLoader@10ee7cb”的消息。 - katang
看起来smartgit还不支持java-9,因此请安装java-8并执行以下步骤:sudo update-alternatives --config java,然后选择java-8选项并复制该选项中显示的路径。之后执行 sudo nano /etc/environment,并将 JAVA_HOME="这里是刚才复制的路径" 粘贴到文件末尾,保存并重新加载文件 source /etc/environment 就完成了。如果你想检查是否正确配置了JAVA_HOME,请在控制台输入 echo $JAVA_HOME,它应该返回你刚才粘贴的路径。 - dani24

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接