Sweet Home 3D 无法启动

Sweet Home 3D 无法启动

我最近安装了 Ubuntu 11.04,并从软件中心下载了“Sweet Home 3D”程序。它已安装,当我搜索它时,它会显示为应用程序之一,但我根本无法启动它。有人知道我该怎么做吗?或者这是否是一个已知问题?

我的 ATI 显卡使用的是Dell Studio 15 1558 laptopfglrx driver。但我感觉这个问题与硬件或驱动程序无关。

编辑:这是我在终端中输入“sweethome3d”时得到的结果:

zeiger@ubuntu:~$ sweethome3d
[warning] /usr/bin/sweethome3d: Unable to locate /usr/lib/jvm/java-6-sun/jre/lib/javaws.jar in /usr/share/java
Exception in thread "main" java.lang.NoClassDefFoundError: javax/jnlp/UnavailableServiceException
Caused by: java.lang.ClassNotFoundException: javax.jnlp.UnavailableServiceException
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: com.eteks.sweethome3d.SweetHome3D. Program will exit.
zeiger@ubuntu:~$

我使用 Ubuntu 软件中心安装了 SweetHome3d。

答案1

从软件中心安装 sun-java6-bin。

我安装了 Sweet Home。当我删除 sun-java 时,SH 无法启动。当我重新安装它时,SH 可以启动。

答案2

问题似乎是位于 /usr/share/sweethome3d/sweethome3d.sh 的启动脚本在“/usr/lib/jvm/java-6-sun”的硬编码路径上寻找安装在的 jre。

要解决这个问题:

  1. 在 Ubuntu 上,打开终端并运行:

    sudo gedit /usr/share/sweethome3d/sweethome3d.sh

  2. 更改此行:
    find_jars /usr/lib/jvm/java-6-sun/jre/lib/javaws.jar

    find_jars $(readlink -f /usr/bin/java | sed "s:bin/java::")/lib/javaws.jar

  3. 保存脚本。
  4. 尝试运行该应用程序!

答案3

解决:

  1. 下载jre-6u27-linux-i586.bin并安装。
  2. 以 root 身份复制~/Downloads/jre1.6.0_27/lib/javaws.jar/usr/lib/jvm/default-java/jre/lib
  3. 以 root 身份创建一个链接ln -s default-java java-6-sun
  4. 跑步sweethome3d

至少对我来说它是有效的。

答案4

我认为这是由于SweetHome3D,它直接查找 Sun java 文件。

我把javaws.jar另一个包中的文件 放入/usr/lib/jvm/java-6-sun/jre/lib/javaws.jar 其中,问题似乎解决了,SweetHome3D已开始。

相关内容