ubuntu Eclipse 启动提示internal error:SHA-a not avaliable 和eclipse默认root启动

前端之家收集整理的这篇文章主要介绍了ubuntu Eclipse 启动提示internal error:SHA-a not avaliable 和eclipse默认root启动前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Eclipse 启动提示internal error:SHA-a not avaliable 和eclipse默认root启动


今天准备在Ubuntu下搭建Eclipse开发环境,下载好相应的软件并解压到相应的目录。在启动时却出现如下错误

查看命令行日志,(使用命令行启动即可看到相应的信息):

[plain] view plain copy

  1. Anexceptionoccurredwhilewritingtotheplatformlog:

  2. java.lang.NullPointerException

  3. atorg.eclipse.equinox.launcher.Main.openLogFile(Main.java:2559)

  4. atorg.eclipse.equinox.launcher.Main.log(Main.java:2392)

  5. atorg.eclipse.equinox.launcher.Main.run(Main.java:1461)

  6. atorg.eclipse.equinox.launcher.Main.main(Main.java:1426)

  7. Loggingtotheconsoleinstead.

  8. !ENTRYorg.eclipse.equinox.launcher402014-06-0100:30:05.824

  9. !MESSAGEExceptionlaunchingtheEclipsePlatform:

  10. Anexceptionoccurredwhilewritingtotheplatformlog:

  11. java.lang.NullPointerException

  12. atorg.eclipse.equinox.launcher.Main.openLogFile(Main.java:2559)

  13. atorg.eclipse.equinox.launcher.Main.log(Main.java:2392)

  14. atorg.eclipse.equinox.launcher.Main.run(Main.java:1462)

  15. atorg.eclipse.equinox.launcher.Main.main(Main.java:1426)

  16. Loggingtotheconsoleinstead.

  17. !STACK

  18. java.lang.InternalError:internalerror:SHA-1notavailable.

  19. atsun.security.provider.SecureRandom.init(SecureRandom.java:99)

  20. atsun.security.provider.SecureRandom.<init>(SecureRandom.java:78)

  21. atjava.security.SecureRandom.getDefaultPRNG(SecureRandom.java:192)

  22. atjava.security.SecureRandom.<init>(SecureRandom.java:156)

  23. atjava.io.File$TempDirectory.<clinit>(File.java:1901)

  24. atjava.io.File.createTempFile(File.java:2010)

  25. atorg.eclipse.equinox.launcher.Main.canWrite(Main.java:1312)

  26. atorg.eclipse.equinox.launcher.Main.computeDefaultConfigurationLocation(Main.java:1294)

  27. atorg.eclipse.equinox.launcher.Main.getConfigurationLocation(Main.java:1738)

  28. atorg.eclipse.equinox.launcher.Main.processConfiguration(Main.java:1796)

  29. atorg.eclipse.equinox.launcher.Main.basicRun(Main.java:563)

  30. atorg.eclipse.equinox.launcher.Main.run(Main.java:1450)

  31. atorg.eclipse.equinox.launcher.Main.main(Main.java:1426)

  32. Causedby:java.security.NoSuchAlgorithmException:SHAMessageDigestnotavailable

  33. atsun.security.jca.GetInstance.getInstance(GetInstance.java:159)

  34. atjava.security.Security.getImpl(Security.java:695)

  35. atjava.security.MessageDigest.getInstance(MessageDigest.java:159)

  36. atsun.security.provider.SecureRandom.init(SecureRandom.java:97)

  37. ...12more


提示,SHA-1这个算法无法找到,但这个是jdk系统提供的一个算法。包含在JAVA_HOME/jre/lib/jsse.jar中。


打开想要的目录查看,结果只有一个jsse.pack,而没有jsse.jar。 这也是异常抛出的原因了,使用unpack200进行对应jar包的解压。

[plain] view plain copy

  1. unpack200jsse.packjsse.jar


如果提示:Error: Could not open jar file:jsse.jar

则表示当前用户对该目录的文件没有写的权限,使用root即可。

[plain] view plain copy

  1. suroot


然后输入root的密码,在执行unpack命令即可。此时在命令行中使用root身份即可启动Eclipse。

但是,在Eclipse目录下,双击eclipse的图标,或者是不在root身份运行则提示错误:permission denied.


那么如何在图形界面上让eclipse使用root身份运行呢?


首先我们需要创建一个eclipse的快捷启动方式,比如这里我们创建到桌面:

[plain] view plain copy

  1. sudogedit/home/gavin/Desktop/eclipse.desktop


然后在打开的编辑器里输入:

[plain] view plain copy

  1. [DesktopEntry]

  2. Categories=Development;

  3. Comment[zh_CN]=

  4. Comment=

  5. Exec=/path/to/eclipse/eclipse

  6. GenericName[zh_CN]=IDE

  7. GenericName=IDE

  8. Icon=/path/to/eclipse/icon.xpm

  9. MimeType=

  10. Name[zh_CN]=eclipse

  11. Name=eclipse

  12. Path=

  13. StartupNotify=true

  14. Terminal=false

  15. Type=Application


这样我们就创建了一个eclipse的快捷方式,注意启动的/path/to/eclipse换成你的eclipse路径即可。

但是这样还是无法启动,因为还是以普通方式启动的,接下来,我们需要使用gksu命令,

首先安装gksu:

[plain] view plain copy

  1. sudoapt-getinstallgksu


然后再次编辑eclipse.desktop,将启动的Exec后面的命令加上gksu,

[plain] view plain copy

  1. Exec=gksu/path/to/eclipse/eclipse


保存,然后双击快捷方式,则弹出root密码的输入,输入后方可启动eclipse。


如果出现Untrusted application launcher,可使用chmod +x /path/to/eclipse.desktop即可

猜你在找的Ubuntu相关文章