• ベストアンサー

JAVAアプレットがブラウザで実行できない

JAVA超初心者です。 じつは、Java2SDK1.4を使ってコンパイルしているんですが、 コンパイルしてできた「classファイル」をブラウザで実行できないんです。 四角い灰色のものがでてきて、マウスを重ねると、 { load: class **** not found }とステータスバーに表示されるだけです。 (*はファイル名) appletviewerというJAVAの動作を見るものだと、実行できるのですが・・・。 Web上で配布されているclassファイルはブラウザでも実行できます。 配布されているのと同じソースでやっても自分でコンパイルすると、ブラウザで実行できません。 ブラウザはIE6なので、JAVAに対応してると思います。 どうすればいいのでしょうか? コンパイルに問題があるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • mrt136
  • ベストアンサー率35% (33/92)
回答No.15

>CLASSPATHは設定されていませんでした。 >>基本的に 環境変数 CLASSPATH は設定しない方が良いですよ。 >と言われた通り設定しないでそのままにしておきます。 とは、どう言うことでしょうか? どう言う確認をされましたか? 何を元にCLASSPATH は設定されていないと判断しましたか? それじゃ、CLASSPATH を設定してみましたか? とにかく、動かないのなら、確認できる全ての事を行って下さい。 >CODEBASEについてですが、 >MS-DOSとかでは「\」をつかいますが、 >HTMLのばあいは「/」をつかう気がするのですが・・・。 >まちがっていたら教えてください。 間違いです。 HTML が 「/」を使うと言うわけではありません。 基本的な事です。ご自分ではどこまで調べられましたか? PATH と URL の違いを勉強してください。 そうすると、今回の場合、どちらを使うのかがはっきりするはずです。 こちらに関しても、CLASSPATH の時と同じです。 いろいろと考えられる限り設定を変更してテストしてみて下さい。 以前に私が紹介した Java House の「スペシャルトピック」は読みましたか? その件については、一切触れておられないようですが。。。 CLASSPATH については、理解出来たのでしょうか? いままでのご質問内容から kidou00さんの場合は、Javaの勉強をする前に ファイルシステムについて勉強された方が良いかと思います。(今回はWindowsのファイルシステム) ファイルシステムを理解せずに、プログラミングをしても決して良いプログラム は出来ないと思います。 後、アプレットや、サーブレットを勉強する前には、インターネットの基礎知識 を勉強する必要があります。プロトコルや、URIに関しても理解していないと良い プログラムは出来ません。 (完全に理解する必要はありませんが、概要は知っていないと駄目です) もう少し視野を広げて勉強してください。

kidou00
質問者

お礼

いままで質問に答えてきただきありがとうございました。

kidou00
質問者

補足

>いままでのご質問内容から kidou00さんの場合は、Javaの勉強をする前に ファイルシステムについて勉強された方が良いかと思います。 わかりました。1から勉強しようと思います。 >以前に私が紹介した Java House の「スペシャルトピック」は読みましたか? 読みました。しかし、よく理解できていません・・・。 mrt136さんに言われた通り、視野を広げて勉強します。 ご指摘ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (14)

  • mrt136
  • ベストアンサー率35% (33/92)
回答No.4

再びです。 >HTMLファイルなどの内容は、 >ほかの回答者様の補足などに書いてあります。 いや、私が確認したかったのは、HTMLの内容ではなくて、IE6に対する指定方法です。 Webサーバは何を使っていますか?また、Javaの統合開発環境を使っている様でしたら それらも書いて頂きたいのですが。 後、Javaコンソールは見ましたか?もう少し細かいエラーが表示されているかと思いますが。 あれば、それもコピー&ペーストで補足して頂ければまた少し新しい回答が得られるかも知れません。 それから、APPLETタグ(OBJECTタグ?)に CODEBASE パラメータを指定してみても同じですか?

kidou00
質問者

お礼

質問に答えてきただきありがとうございました。

kidou00
質問者

補足

>IE6に対する指定方法 質問の意味がよく理解できません・・・。すいませんです。もう少しわかりやすくしてくれたらうれしいです。 >Webサーバは何を使っていますか? すいません・・・。わかりません・・・・。 確認の方法がわからないです。オフラインでいつも実行しているのですが・・・。そのせいでしょうか? >Javaの統合開発環境を使っている様でしたら それらも書いて頂きたいのですが。 Javaの統合開発環境はもっていません。 >後、Javaコンソールは見ましたか?もう少し細かいエラーが表示されているかと思いますが。 あれば、それもコピー&ペーストで補足して頂ければまた少し新しい回答が得られるかも知れません。 エラーは表示されていませんでした。 >APPLETタグ(OBJECTタグ?)に CODEBASE パラメータを指定してみても同じですか? 同じようにできませんでした。

全文を見る
すると、全ての回答が全文表示されます。
  • mrt136
  • ベストアンサー率35% (33/92)
回答No.3

ところで、IE6には、どう言う様にHTMLを指定しているのでしょうか? クラスファイルをどこに置いて、Webサーバの DocumentRoot はどこで、 どのように指定しているのかが大事かと思いますが。。。 class not found なので、クラスを見つける事が出来ないだけなのです。 要するに、Webサーバの DocumentRoot から見つけられないところに クラスファイルを置いてあると言う事かと思います。 HTMLファイルと、クラスファイルは同じディレクトリ(フォルダ)にありますか? テスト環境(クライアントのみ)で実行している様でしたら、その環境も 書かれた方が回答がつきやすいかと思います。

kidou00
質問者

お礼

質問に答えてきただきありがとうございました。

kidou00
質問者

補足

classファイルと実行用のHTMLファイルは同じディレクトリに置いてあります。 HTMLファイルなどの内容は、 ほかの回答者様の補足などに書いてあります。 テスト環境は・・・ ■型番 PC-VL 750R/75D ■OS windows ME ■CPU 750MHz AMD Duron ■メモリ 192MB ■ハードディスク 40GB ■ブラウザ Internet Explorer6 ■コンパイラ JAVA2SDK Ver1.4 ・・・というところです。 よろしくお願いいたします。

全文を見る
すると、全ての回答が全文表示されます。
  • UKY
  • ベストアンサー率50% (604/1207)
回答No.2

> ブラウザはIE6なので、JAVAに対応してると思います。 実は、IEのJavaサポートはとても中途半端なものです。 IEでサポートされているのはJDK1.1ぐらいの古いクラスのみです。 したがって、JDK1.3などで新しく追加されたクラスを使うと、エラーが発生します。 表示されたエラーメッセージの、 class **** not found の、**** のところに表示されているのが、JDK のコアパッケージのクラスで、 比較的新しく採用されたものなら、(たとえば java.lang.StrictMathなど) このエラーが発生している可能性が高いです。 この場合は、Javaプラグインがうまく働いていないので、IEのメニューバーから、 ツール - インターネットオプション - 詳細設定タブを開いて、 「<applet>にJava2 1.4.0を使用」の項目にチェックが入っているか 確認してください。 逆に、**** に表示されているのがあなたの作ったクラスなら、 IEがクラスファイルを読み込めていません。 <applet>タグで正しくクラスファイル名が設定されているか、 同じフォルダにそのクラスファイルが本当に存在するかなど、もう一度確認してみてください。ファイル名の入力ミスなどは、初心者にありがちです。

kidou00
質問者

お礼

お礼というか・・・補足です。 対処してくれてる事に関しては非常に感謝してます。 「<applet>にJava2 1.4.0を使用」を 再インストールしたらでてきました。 しかしチェックははいっていました。 test.htmlの内容は以下の通りです。 <HTML> <BODY> <APPLET code="test.class" width="200" height="200"></APPLET> </BODY> </HTML> test.javaの内容は以下の通りです。 import java.awt.Graphics; import java.applet.Applet; public class test extends Applet{ public void paint(Graphics g){ g.drawString("This is test",10,30); } } 上のtest.javaをコンパイルしてできたtest.classを、test.htmlで実行する。 みたいな感じでやってるんですが・・・。

kidou00
質問者

補足

**** に入るファイル名は、自分の作ったクラスです。 クラスファイルの読み込みについては、 学習HP内の指示道理にHTMLファイルなどの作成をしていますので、 おそらく間違いはないと思います。 ちなみに、 IEのコントロールパネルの詳細タブをみてみましたが、 「<applet>にJava2 1.4.0を使用」という項目は見られませんでした。 しかし、JAVAは対応していると思います。 学習HP内のサンプルアプレットは正常に動作してましたので・・・。 何が問題なのでしょうか・・・。 古いJDK1.1とかにしてやってみるとか・・・。

全文を見る
すると、全ての回答が全文表示されます。
  • proust
  • ベストアンサー率57% (62/108)
回答No.1

いろいろ考えられるのですが とりあえず、ソースの内容やコンパイル手順などを書いていただけると、答えてくれる人がいるかもしれませんよ。 参考 典型的なアプレットの実行例 1. コマンドプロンプトを開きます 2. javac XXXX.javaでコンパイルし、YYYY.classを生成 このとき、正常であれば何もメッセージはでません。 3. 以下の内容のYYYY.html をYYYY.classと同じディレクトリにおいて、IEで開きます <html><body> <applet code=XXXX.class width=300 height=200> </body></html>

参考URL:
http://www.parkcity.ne.jp/~chaichan/src/javamain.htm
kidou00
質問者

お礼

質問に答えてきただきありがとうございました。

kidou00
質問者

補足

説明が不十分ですみません。 では教えてくれたとおりやった手順をいってみます。 1、コマンドプロンプトを開きます。 2、javac test.javaでコンパイルし、test.classを生成します。 (コンパイラはJava2SDKのバージョン1.4です。) (このとき、何もメッセージはでませんでした。) 3、以下の内容の test.html を test.class と同じディレクトリに置いて IEで開きます <html> <body> <applet code="XXXX.class" width="300" height="200"></applet> </body> </html> この手順でやったのですが・・・。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Javaアプレットをブラウザで表示できません。

    Javaを独学し始めて、まだ間もない超初心者です。 javaファイルのコンパイルに成功しclassファイルができたのですが、これをブラウザ上で表示しようとしても”読み込みに失敗しました”と表示されてしまいます。(htmlのソース内容は問題ないと思われるのですが・・。) classファイルができたにも関わらず、ブラウザ上で表示できないのは何故でしょうか。やはりjavaファイルの内容が原因で不都合をきたしているのでしょうか。 原因と思われる箇所とその対処法をわかりやすく解答していただけると助かります。よろしくお願いします。 ーちなみに ・Windows XP ・<applet>にJava2v1.4.2_01を使用しています。

    • ベストアンサー
    • Java
  • JAVAアプレットについて

    JAVAを勉強し始めたのですが、本の通りやってもうまく表示されません。 具体的には、二枚の絵を交互に表示するというものです。 コンパイルの時点ではエラーはありません。 appletviewer ってコマンドを打つとアプレットが開始されました ってなりますが何も表示されずに真っ白です。もちろんHTMLを開いても 画像の表示される箇所が灰色になっていて絵は出てません。 質問1、何かを有効にしなければ表示されないのですか? 質問2、その本にはブラウザでは.bmpは表示できないので.gifを使うように     って書いてありますが、.gifだと×印が出てて.bmpだと表示されます。     gifでもbmpでもappletviewerで実行すると真っ白ですが。なんでですか? よろしくお願いします。

  • Javaの実行ができません。

    使用OSはWinXP Home Editionです。 コンパイルは問題なくできます。 ブラウザーのappletやappletviewerも動きます。 DOSからJavaを実行をすると同じErrorがでて実行できません。 -----下記Error部分--------- Exception in thread "main" java.lang.NoClassDefFoundError: Test --------------------------- WinXPを入れてから最初にj2sdk-1.3.1.01を入れて、 次にJava2SDK1.4.0をインストールしました。 両方ともインストールするとJavaプラグインが入っており、 おかしいな?と思った時から、アンインストールしたり インストールしたりしてます。 念のために、違うOS(Winp98)で試したところ 問題なく動作してくれました。 実行時のパスの指定は何度も一文字ずつ確認してるので 間違いはないはずです。 確認のためjcpadを使用しての実行も試してます。 ブラウザーのOperaをインストールした時に、 Javaをインストールするかしないかと問われてインストールしたのですが、すごくJavaAppletの動作が遅くなったのでアンインストールした経験があります。 (関係無いと思いますが・・ねんのために) 把握しずらい内容と思いますが、 ご教授のほど宜しくお願いします。

    • ベストアンサー
    • Java
  • アプレットをブラウザで表示できない

    こんにちは 似たような質問がいくつかありましたが 解決していないものもあったので また質問させていただきます。 kibou00さん(02/06/17 00:50)の質問とよく似ているのですが 私の場合実行しようとすると Exception in thread "main" java.lang.NoSuchMethodError: main というエラーが出ます。 手順は 1、コマンドプロンプトを開きます。 2、javac test.javaでコンパイルし、test.classを生成します。 (コンパイラはJava2SDKのバージョン1.4.2_09です。) (このとき、何もメッセージはでませんでした。) 3,java testで実行しようとすると xception in thread "main" java.lang.NoSuchMethodError: main というエラーが出ます。 また以下の内容の test.html を test.class と同じディレクトリに置いてIEで開くとアップレットが表示されない以外(タイトルと本文)。 はちゃんと表示されます <html> <head> <title>タイトル</title> </head> <body> <h3>プログラム<h3> <applet code=test.class width=300 height=210><br> </applet> </body> </html> なぜブラウザではアプレットが表示されないのでしょうか。 ただし、appletviewerを使うとちゃんとアプレットだけは 正しく表示されます。 どなたか教えていただけないでしょうか? 本当に困っています。 私の他にも困っている人がたくさんいるような気がします。 お願いします。

    • ベストアンサー
    • Java
  • Linux上でjavaアプレットがブラウザ表示できません

    すごく初歩的なことかもしれないのですが、Linux上でjavaアプレットがを実行しようとすると下記のような予期しないエラーが表示されました。Linux上ではjavaアプレットはブラウザ(IE)に表示できないのでしょうか? もし、何か分かることがありましたら、ご教授御願いします。 ちなみにjavaアプリケーションは正常に実行できる環境です。 エラー内容: Exception in thread "main" java.lang.InternalError: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable. at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method) at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:1 26) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:130) at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvi ronment.java:62) at java.awt.Window.init(Window.java:208) at java.awt.Window.<init>(Window.java:252) at java.awt.Frame.<init>(Frame.java:398) at java.awt.Frame.<init>(Frame.java:363) at sun.applet.AppletViewer.<init>(AppletViewer.java:139) at sun.applet.StdAppletViewerFactory.createAppletViewer(AppletViewer.jav a:80) at sun.applet.AppletViewer.parse(AppletViewer.java:1062) at sun.applet.AppletViewer.parse(AppletViewer.java:996) at sun.applet.Main.run(Main.java:138) at sun.applet.Main.main(Main.java:80)

    • ベストアンサー
    • Java
  • java 実行コマンドについて

    java の実行コマンドについての質問です。java実行コマンドでは実行したいファイルを相対パスで指定できないのでしょうか? 具体的には、 現在、実行したいプログラムは ~/program/sample/Test.class となっています。 カレントディレクトリは~/programで、次のようなコマンドを行いました。 ~/program$ java sample/Test すると Exception in thread "main" java.lang.NoClassDefFoundError: sample/Test (wrongname: Test) という例外が出ました。 ~/program$ java -classpath sample Test を行えば実行できるのですが、java実行コマンドでは相対パスで実行ファイルを指定することはできないのでしょうか? (javacコマンドでは相対パスでコンパイルできる、つまりコンパイルしたいファイルが~/program/sample/Test.javaならば ~/program$ javac sample/Test.java でコンパイルできるので、これの類似でjavaコマンドでも相対パスで実行できるのではないかと考えたのですが。)

    • ベストアンサー
    • Java
  • JAVA実行ができなくなった・・

    初心者です。 javaのバージョン1.5インストールし、しばらくコンパイル・実行ともにできていたんですが、 oracl10gをインストールしてから実行ができなくなってしました。 java -version で確認したところ 1.4.0になっていたので 実行時 じjava -version:1.5 Classname で実行試しました。 ですが、エラーで Unrecognized option: -version:1.5 Could not create the Java virtual mashine. となってしまいました。 これから何をすればいいか、わかりません。 javaの再インストールは試しました。 よろしくお願いします。

    • ベストアンサー
    • Java
  • JAVAのエラーについて

    WindowsXPをつかっています。 先日JAVAの勉強をしようと思い、J2SE v 1.4.2_08 SDK をインストールしました。 環境変数の設定も解説サイトをみて一応おこないました。 プログラムを実行しようとすると Error opening registry key 'Software\JavaSoft\Java Runtime Environment' Error:could not find java.dll Error:could not find Java 2 Runtime Environment. と出てしまい実行できません。 コンパイルはちゃんとでき、CLASSファイルもできてました。 エラーメッセージの意味と解決法を教えてください。 よろしくお願いします。

  • Javaの実行について

    先日から学校でjavaを習いはじめました。 家でも自分でいろいろやってみたいと思うのですが。 本で書いてある、コンパイル・実行の方法がなぜか学校のと家のではとが違うようなのです。 本ではコンパイルは(ファイル名はHello.javaです) javac Hello.java なのに 学校では %JAVA HOME%\bin\javac Hello.java と入力しないとコンパイルされません。 しかしこれは家のPCでは上の方法で普通に出来ます。 実行は本では java Hello なのに 学校・家では java -cp . Hello と打たなければ実行することができません。 これはどうしてなのでしょうか? お願い致します。

    • ベストアンサー
    • Java
  • コンパイルした後 java (classファイルの名前) が実行できない

    すみません。本当につまらない質問かもしれませんが コンパイルまではDOS窓でできるんですが。できたCLASS ファイルを java (できたclassファイル名) を実行しよう としても、 Exception in thread "main" java.lang.NoClassDefFoundError: (できたファイルの名前) と表示されてしまい、まったく実行できません。 これはどうしたら実行できるのでしょうか? なお、最新版のSDKとJava 2 Runtime Environmentはインストールしています。 どうかお願いします。

    • ベストアンサー
    • Java