dポイントプレゼントキャンペーン実施中!

・Javaの動作テストについて

つい先日Javaの勉強を始めたばかりなのですが、早速行き詰ったので質問させていただきます。
アプレットをhtmlファイルから起動できません。

【開発環境】
・WindowsVistaと7(どちらでも同じ現象が起きている)
・Eclipse3.5(プレアデスの日本語パッチの当てられたオールインワンパックを使用)
・IE8
(他に環境としてあげる必要のあるものがあれば教えてください)

【状況】
・単純なJavaアプレット(よくあるHelloWorld)を作成
・Eclipse上からアプレットビュアーを起動すると、正しく表示されている
・生成されたHelloWorld.classと同じフォルダ内にHelloWorldを呼び出すhtmlファイルを置いてブラウザで起動すると、指定したサイズ分の四角い枠が表示され、赤丸の中に「!」マークのあるアイコンだけが表示され、その枠の中をクリックすると「アプリケーションの起動に失敗しました」というエラーメッセージが表示される

【htmlコード(抜粋)】
<applet code="HelloWorld.class" width=250 height=300>
</applet>

※こういう質問をする場合に何を伝えればいいのかもよくわからないので、他に必要な事項があったら教えてください。

A 回答 (3件)

クラスパスが通ってないから、探し当てられないのでしょう。


appletタグに codebase="." の属性を追加してみるとか。
class ファイルは、html ファイルと同じディレクトリに置いてありますよね?

この回答への補足

ありがとうございます。
でも、codebaseを追加しても状況は変わりませんでした。

classファイルの場所はhtmlと同じフォルダ内です。
javaのコード内でパッケージを指定していて、classファイルはbinフォルダ内にあるパッケージ名のついたフォルダ内に生成されました。
パッケージ名のフォルダと同じ階層・パッケージ名のフォルダ内に同じ内容のhtmlファイルを置いて動作を試してみましたが、どちらにしろ表示はされませんでした。

補足日時:2010/01/17 16:44
    • good
    • 0
この回答へのお礼

よく調べてみたら、原因はパッケージを使ったことによりディレクトリの構成が変わってしまっていたせいでした。やっぱり実質的な問題点は、クラスのパスを間違っていたことにありました。ありがとうございました。

お礼日時:2010/01/19 23:55

気になるのはIE8ね。


手元にIE8がないので確認できないけど
一番疑えるのはIE8でのAPPLETタグの動きかしら。
OBJECTタグで書いてみてはどお?
    • good
    • 0
この回答へのお礼

Javaで質問する時に何を伝える必要があるのかも知らなかったため、勉強になりました。
ご丁寧な解説、ありがとうございました。
実際の原因としては、パッケージを使ったためクラスファイルまでの階層を間違えていたためであり、IE8でも問題なく動作しました。
OBJECTタグというものがあること自体初耳ですが、今後参考にさせていただきたいと思います。

お礼日時:2010/01/19 23:59

Javaコンソールを開いてみてはどお?


まずはそれからよ。

この回答への補足

コンソールを開くと以下のような記述がありますが、やっぱり原因はわかりません。
この中に原因になるものがあるのでしょうか。

Java Plug-in 1.6.0_17
使用中の JRE のバージョン 1.6.0_17-b04 Java HotSpot(TM) Client VM
ユーザのホームディレクトリ = C:\Users\****
----------------------------------------------------
c: コンソールウィンドウをクリア
f: ファイナライズキューのオブジェクトをファイナライズ
g: ガベージコレクト
h: このヘルプメッセージを表示
l: クラスローダリストをダンプ
m: メモリ使用率を表示
o: トリガログ
q: コンソールを非表示
r: ポリシー設定を再ロード
s: システムプロパティと配備プロパティをダンプ
t: スレッドリストをダンプ
v: スレッドスタックをダンプ
x: クラスローダキャッシュをクリア
0-5: トレースレベルを <n> に設定
----------------------------------------------------


load: クラス HelloWorld.class が見つかりません。
java.lang.ClassNotFoundException: HelloWorld.class
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.FileNotFoundException: C:\eclipse\workspace\HelloWorld\bin\HelloWorld\class.class (指定されたパスが見つかりません。)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at sun.net.www.protocol.file.FileURLConnection.connect(Unknown Source)
at sun.net.www.protocol.file.FileURLConnection.getInputStream(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
... 7 more
例外: java.lang.ClassNotFoundException: HelloWorld.class

補足日時:2010/01/15 23:38
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!