• ベストアンサー

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.14

>■CLASSPATHの設定 >PATHの設定などは、C:\jdk1.4\binにするように説明に書いてあったのでそうしたんですが・・・。 >でも、きちんと「javac」だけでも動作しますし・・・ >PATHの設定はこれでいいはずですが・・・。 いや、それは違います。まず、環境変数 PATH と 環境変数 CLASSPATH の違いを勉強しましょう。 環境変数 PATH とは、実行ファイルの検索パスで、環境変数 CLASSPATH とは、クラスファイル検索パスです。 javac だけで動作すると言うのは、環境変数 PATH に C:\j2sdk1.4\bin が通っているからです。 環境変数 CLASSPATH とは別問題です。先ほどの参考URLは読みましたか? あのサイトは、Javaを使う人とってはすごく役に立つ良いサイトですので、是非読んでみてください。 ><APPLET code="test.java" codebase="C:/"></APPLET> で、CODEBASE ですが、何故 "C:/" なのでしょうか? "C:\" じゃないのかな? 後、基本的に 環境変数 CLASSPATH は設定しない方が良いですよ。 CLASSPATH を理解せずに設定してしまうのは、トラブルの原因になりますから。。。 もし、どうしても設定したいのであれば、 CLASSPATH=. (ピリオドです) としておけばいいかも知れません。

kidou00
質問者

お礼

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

kidou00
質問者

補足

CLASSPATHは設定されていませんでした。 >基本的に 環境変数 CLASSPATH は設定しない方が良いですよ。 と言われた通り設定しないでそのままにしておきます。 CODEBASEについてですが、 MS-DOSとかでは「\」をつかいますが、 HTMLのばあいは「/」をつかう気がするのですが・・・。 まちがっていたら教えてください。

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

>■CLASSPATHの設定 >C:\jdk1.4\bin この設定は間違っています。 CLASSPATH と言うのは、クラスファイル探索用の PATH を指定するので、Bin を指定しても意味がありません。 参考URL(超有名サイト Java House です)の中のスペシャルトピックにある「CLASSPATHをちゃんと理解する」 を読んで見てください。 >■JSDKのインストール先ディレクトリ >C:\ にJ2SDKのフォルダが入ってます。 失礼ですが、こう書かれているのは、ディレクトリとフォルダの認識が甘い様ですね。。。 基本的にディレクトリと呼ばれているのもとフォルダと呼ばれているものは呼び方の違いだけで 同じものだと考えていいでしょう。 (厳密には違うのかも知れませんが。。。誰かご存知でしたら教えてください。) この場合、インストール先ディレクトリは C:\J2SDK になるのでしょうか? それだと、C:\jdk1.4\bin と矛盾が起きていますね。 JDK(確か1.4 はSDKと呼んでいたと思うが。。。)とJRE は別々にインストールしたのでしょうか? >>APPLETタグ(OBJECTタグ?)に CODEBASE パラメータを指定してみても同じですか? >同じようにできませんでした。 どのように設定しましたか? 設定後の HTML ファイルも載せて頂けますか? >エラーらしき物は表示されていないのですが・・・。 >Applet Stoped と一番下にかいてあるはエラー表示でしょうかね? Javaコンソールの画面もコピー&ペーストして頂けますか? (決して、自分で入力しないで下さい。出力されているものをそのまま表示してください。) 但し、まずい部分(個人情報等)は *** 等で伏せて頂いても結構です。 その場合も、コピー&ペースト後、編集する様にして下さい。 classpath も設定しているファイルからコピー&ペーストしましたか? もう一度、確認してから補足頂ければと思います。

参考URL:
http://java-house.jp/ml/
kidou00
質問者

お礼

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

kidou00
質問者

補足

どうもその辺をきちんと理解できていないのです。すいません(汗) 日本語も使い方が実に下手ですいません。 質問者としてよくありませんね・・・。 /////////しかも、jdk1.4ではなくj2sdk1.4でした。すいませんでした。///////// ■CLASSPATHの設定 PATHの設定などは、C:\jdk1.4\binにするように説明に書いてあったのでそうしたんですが・・・。 でも、きちんと「javac」だけでも動作しますし・・・ PATHの設定はこれでいいはずですが・・・。 ■JSDKのインストール先ディレクトリ 勉強不足ですいませんでした。 インストール先ディレクトリは C:\j2sdk1.4 です。 ■表示されていたコンソール Java(TM) Plug-in: バージョン 1.4.0_01 使用中の JRE のバージョン 1.4.0_01 Java HotSpot(TM) Client VM ユーザのホームディレクトリ = C:\WINDOWS プロキシの設定: プロキシなし ---------------------------------------------------- c: コンソールウィンドウをクリア f: ファイナライズキューのオブジェクトをファイナライズ g: ガベージコレクト h: このヘルプメッセージを表示 l: クラスローダリストをダンプ m: メモリ使用率を表示 o: トリガログ p: プロキシ設定を再ロード q: コンソールを非表示 r: ポリシー設定を再ロード s: システムプロパティをダンプ t: スレッドリストをダンプ x: クラスローダキャッシュをクリア 0-5: トレースレベルを <n> に設定 ---------------------------------------------------- Applet stoped ■codebaseについて <HTML> <HEAD></HEAD> <BODY> <APPLET code="test.java" codebase="C:/"></APPLET> </BODY> </HTML>

  • takasuga
  • ベストアンサー率37% (231/612)
回答No.12

下記URLでJava VMをダウンロードし、そちらでも動作しないのでしょうか?

参考URL:
http://www.microsoft.com/japan/java/vm/dl_vm40.asp
kidou00
質問者

お礼

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

kidou00
質問者

補足

ダウンロードしてみましたが・・・ 動作しないようです。

回答No.11

Plug-inがおかしいことになっているかもしれません。以下のページからダウンロードインストールしてみてください。

参考URL:
http://java.sun.com/getjava/
kidou00
質問者

お礼

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

kidou00
質問者

補足

DLしてみましたが無理のようです。

noname#99638
noname#99638
回答No.10

まずプログラムの方ですが、私の環境で試したところ上手く行きました。 環境は次のとおりです。 OS windows98 SDK java 2 SDK 1.3.1_02 ブラウザ IE6.0 JRE Javaプラグイン 1.3.1_02 手順は、 1)test.htmlとtest.javaを補足の通りに作成しました  (2つのファイルを保存するフォルダは同じにしました) 2)test.javaをコンパイルしました  >javac test.java 3)1と同じフォルダにtest.classが出来上がりました 4)アプレットビューワーで実行してみました  >appletviewer test.html 5)「This is test」と表示されました 6)test.htmlをドラッグアンドドロップでIE6.0で表示させました 7)アプレットが開始されて「This is test」と表示されました 以上です。 まずプラグインがが使われているかを確かめていただいたほうがいいかもしれません。 そのために、まずIEの設定を確認して下さい。 IEを起動して、 「ツール」メニューの「インターネットオプション」を選び、 「詳細設定」タグを選ぶと、下のような設定画面になるとおもいます ■HTTP1.1設定  □HTTP1.1を使用する  □プロキシ接続でHTTP1.1を使用する ■Java(Sun)  □<applet>にJava 2 x.x.x を使用(要再起動) ■Microsoft VM  □Java JITコンパイラを使用(要再起動)   : この中で、  □<applet>にJava 2 x.x.x を使用(要再起動) がチェックされていれば、IEはこのプラグインを使ってアプレットを動かしますので、チェックしておいてください。 x.x.xはインストールしているJavaのバージョンになっていると思います(恐らく1.4.0?) ここをチェックしていれば、IEでアプレットを動かしたとき、タスクバーの一番右(時計の左)に、コーヒーカップのマークが出ているはずです。 このマークをクリックして表示されるウインドウが「Java Console」です。 何かエラーがあれば、その内容が表示されていますので見てみてください。 上手くいかなくて大変だと思いますが、がんばってください。

kidou00
質問者

お礼

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

kidou00
質問者

補足

励ましありがとうございます。 その手順でやってもこちらではできません・・・。

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

No.8の方のご意見についてです。。。 今回は、Java2SDK1.4と言う事なので、プラグインで動かしているものだと思います。 「class **** not found」 と出ていると言う事は、JVMは動作しているものと思いますが。。。  ^^^^^

kidou00
質問者

お礼

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

  • jones0901
  • ベストアンサー率18% (3/16)
回答No.8

IE6.0はJAVAに対応していましてもJVMが搭載されていなく SUNからダウンロードしてくる必要があると思います。 IE古いバージョンで起動すると動くはずです 5.0 5.5等

kidou00
質問者

補足

古いIEでやってみましたが、できませんでした。

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

>>IE6に対する指定方法 >質問の意味がよく理解できません・・・。すいませんです。もう少しわか>りやすくしてくれたらうれしいです。 IEのアドレスバーにどのように書かれていますか?と言う意味です。 >>Webサーバは何を使っていますか?  >すいません・・・。わかりません・・・・。 >確認の方法がわからないです。オフラインでいつも実行しているのですが・・・。そのせいでしょうか? Webサーバは使っていないと言うことですね。オフラインと言う事ですし。 >エラーは表示されていませんでした。 それは、ありえません。 >{ load: class **** not found }とステータスバーに表示されるだけです。 とおっしゃっているからには必ずJavaコンソールに出力されています。 Java2なので、プラグインで実行ですよね? プラグインのJavaコンソールに出力されているはずです。 IEのJavaコンソールには出力されませんが。 後、問題がなければ CLASSPATH の設定と、JSDKのインストール先ディレクトリと、 HTMLファイル、アプレットのクラスファイルの保存先ディレクトリ等もコピー&ペースト して貼って頂けた方が分かりやすいです。

kidou00
質問者

お礼

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

kidou00
質問者

補足

エラーらしき物は表示されていないのですが・・・。 Applet Stoped と一番下にかいてあるはエラー表示でしょうかね? もしそうでしたらすいません。 ■IE6に対する指定方法 C:\test.html ■CLASSPATHの設定 C:\jdk1.4\bin ■JSDKのインストール先ディレクトリ C:\ にJ2SDKのフォルダが入ってます。 ■HTML、アプレットクラスファイルの保存先ディレクトリ C:\

回答No.6

関係ないかもしれませんがCLASSPATHの設定をしてみたらどうでしょう。 CLASSPATHとはJava仮想マシン(JAVA VM)がクラスファイルを探すときに使う、システムが使用する変数なのですが、 以前、VisualCafeという統合環境でやっていたところアップレットはまったく開けず、エラーメッセージが、class **** not found でした。 クラスパスの設定はOSによって違うため、私は、Meの設定の仕方を知りません。が、たぶん以下の方法で良いはずです。 1.スタートボタンを押して「ファイル名を指定して実行」をクリックします。 2.sysedit と入力し、OKをクリックします。 3.タイトルバーにautoexec.batと書かれている文書を編集します。   なお、この文書は絶対必要以上には変更しないで下さい。    4.すでにCLASSPATHというものが見つかれば、その後に   ;クラスファイルが入っているフォルダ名 を入力してください。   例えば、クラスファイルが、abcというフォルダに入っていると   します。その場合、;c:\abcと付け加えてください。   CLASSPATHが文書の中に見つからない場合は、以下を文章の   一番最後の行に追加してください。   SET CLASSPATH=c:\クラスファイルの入っているフォルダ名;%CLASSPATH%   

参考URL:
http://java-house.jp/ml/
kidou00
質問者

お礼

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

kidou00
質問者

補足

設定をしているのですがだめのようです・・・。 再インストールもしてみましたが、無理でした。

回答No.5

答えになってないと思うんですが、以前Win98を使っていました。 僕もそのとき同じ状態になり、にっちもさっちもいかなくなり5分ぐらいそのままにしておきました。 それからなんとなくHTMLファイルをクリックしたらなぜかできました。 何でなんでしょうね。

kidou00
質問者

お礼

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

kidou00
質問者

補足

ほっておいても直りません・・・・。 なんかうらやましいです(笑)>それからなんとなくHTMLファイルをクリックしたらなぜかできました