最近Ubuntu 11.04をインストールし、ソフトウェアセンターから「Sweet Home 3D」プログラムをダウンロードしました。それをインストールすると、検索するとアプリケーションの1つとして表示されますが、まったく起動できません。私はこれをどのように行うことができますか、これが既知の問題であるかどうかはわかりませんか?
ATIグラフィックカードにDell Studio 15 1558 laptop
とfglrx 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 Software Centerを使用してSweetHome3dをインストールしました。
ソフトウェアセンターからSun-Java6-binをインストールします。
Sweet Homeがインストールされています。 Sun-Javaを削除すると、SHは起動しません。再インストールすると、SHが起動します。
問題は、/ usr/share/sweethome3d/sweethome3d.shにある起動スクリプトが、「/ usr/lib/jvm/Java-6-Sun」へのハードコーディングされたパスにインストールされたjreを探すことです。
修正するには:
Ubuntuで、ターミナルを開いて実行します:
Sudo gedit /usr/share/sweethome3d/sweethome3d.sh
行を変更します。
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
これは、Sun Javaファイルを直接検索するSweetHome3Dが原因だと思います。
別のパッケージのjavaws.jar
をファイルとして/usr/lib/jvm/Java-6-Sun/jre/lib/javaws.jar
に配置すると、問題は解決したように見えますSweetHome3Dが開始されました。
解決:
~/Downloads/jre1.6.0_27/lib/javaws.jar
を/usr/lib/jvm/default-Java/jre/lib
にコピーします。ln -s default-Java java-6-Sun
リンクを作成します。sweethome3d
を実行します。少なくとも私にとってはうまくいきました。