JAVA超初心者です。
じつは、Java2SDK1.4を使ってコンパイルしているんですが、
コンパイルしてできた「classファイル」をブラウザで実行できないんです。
四角い灰色のものがでてきて、マウスを重ねると、
{ load: class **** not found }とステータスバーに表示されるだけです。
(*はファイル名)
appletviewerというJAVAの動作を見るものだと、実行できるのですが・・・。
Web上で配布されているclassファイルはブラウザでも実行できます。
配布されているのと同じソースでやっても自分でコンパイルすると、ブラウザで実行できません。
ブラウザはIE6なので、JAVAに対応してると思います。
どうすればいいのでしょうか?
コンパイルに問題があるのでしょうか?
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 …
この回答への補足
説明が不十分ですみません。
では教えてくれたとおりやった手順をいってみます。
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>
この手順でやったのですが・・・。
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>タグで正しくクラスファイル名が設定されているか、
同じフォルダにそのクラスファイルが本当に存在するかなど、もう一度確認してみてください。ファイル名の入力ミスなどは、初心者にありがちです。
この回答への補足
**** に入るファイル名は、自分の作ったクラスです。
クラスファイルの読み込みについては、
学習HP内の指示道理にHTMLファイルなどの作成をしていますので、
おそらく間違いはないと思います。
ちなみに、
IEのコントロールパネルの詳細タブをみてみましたが、
「<applet>にJava2 1.4.0を使用」という項目は見られませんでした。
しかし、JAVAは対応していると思います。
学習HP内のサンプルアプレットは正常に動作してましたので・・・。
何が問題なのでしょうか・・・。
古いJDK1.1とかにしてやってみるとか・・・。
お礼というか・・・補足です。
対処してくれてる事に関しては非常に感謝してます。
「<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で実行する。
みたいな感じでやってるんですが・・・。
No.3
- 回答日時:
ところで、IE6には、どう言う様にHTMLを指定しているのでしょうか?
クラスファイルをどこに置いて、Webサーバの DocumentRoot はどこで、
どのように指定しているのかが大事かと思いますが。。。
class not found なので、クラスを見つける事が出来ないだけなのです。
要するに、Webサーバの DocumentRoot から見つけられないところに
クラスファイルを置いてあると言う事かと思います。
HTMLファイルと、クラスファイルは同じディレクトリ(フォルダ)にありますか?
テスト環境(クライアントのみ)で実行している様でしたら、その環境も
書かれた方が回答がつきやすいかと思います。
この回答への補足
classファイルと実行用のHTMLファイルは同じディレクトリに置いてあります。
HTMLファイルなどの内容は、
ほかの回答者様の補足などに書いてあります。
テスト環境は・・・
■型番
PC-VL 750R/75D
■OS
windows ME
■CPU
750MHz AMD Duron
■メモリ
192MB
■ハードディスク
40GB
■ブラウザ
Internet Explorer6
■コンパイラ
JAVA2SDK Ver1.4
・・・というところです。
よろしくお願いいたします。
No.4
- 回答日時:
再びです。
>HTMLファイルなどの内容は、
>ほかの回答者様の補足などに書いてあります。
いや、私が確認したかったのは、HTMLの内容ではなくて、IE6に対する指定方法です。
Webサーバは何を使っていますか?また、Javaの統合開発環境を使っている様でしたら
それらも書いて頂きたいのですが。
後、Javaコンソールは見ましたか?もう少し細かいエラーが表示されているかと思いますが。
あれば、それもコピー&ペーストで補足して頂ければまた少し新しい回答が得られるかも知れません。
それから、APPLETタグ(OBJECTタグ?)に CODEBASE パラメータを指定してみても同じですか?
この回答への補足
>IE6に対する指定方法
質問の意味がよく理解できません・・・。すいませんです。もう少しわかりやすくしてくれたらうれしいです。
>Webサーバは何を使っていますか?
すいません・・・。わかりません・・・・。
確認の方法がわからないです。オフラインでいつも実行しているのですが・・・。そのせいでしょうか?
>Javaの統合開発環境を使っている様でしたら
それらも書いて頂きたいのですが。
Javaの統合開発環境はもっていません。
>後、Javaコンソールは見ましたか?もう少し細かいエラーが表示されているかと思いますが。
あれば、それもコピー&ペーストで補足して頂ければまた少し新しい回答が得られるかも知れません。
エラーは表示されていませんでした。
>APPLETタグ(OBJECTタグ?)に CODEBASE パラメータを指定してみても同じですか?
同じようにできませんでした。
No.5
- 回答日時:
答えになってないと思うんですが、以前Win98を使っていました。
僕もそのとき同じ状態になり、にっちもさっちもいかなくなり5分ぐらいそのままにしておきました。
それからなんとなくHTMLファイルをクリックしたらなぜかできました。
何でなんでしょうね。
この回答への補足
ほっておいても直りません・・・・。
なんかうらやましいです(笑)>それからなんとなくHTMLファイルをクリックしたらなぜかできました
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/
No.7
- 回答日時:
>>IE6に対する指定方法
>質問の意味がよく理解できません・・・。すいませんです。もう少しわか>りやすくしてくれたらうれしいです。
IEのアドレスバーにどのように書かれていますか?と言う意味です。
>>Webサーバは何を使っていますか?
>すいません・・・。わかりません・・・・。
>確認の方法がわからないです。オフラインでいつも実行しているのですが・・・。そのせいでしょうか?
Webサーバは使っていないと言うことですね。オフラインと言う事ですし。
>エラーは表示されていませんでした。
それは、ありえません。
>{ load: class **** not found }とステータスバーに表示されるだけです。
とおっしゃっているからには必ずJavaコンソールに出力されています。
Java2なので、プラグインで実行ですよね?
プラグインのJavaコンソールに出力されているはずです。
IEのJavaコンソールには出力されませんが。
後、問題がなければ CLASSPATH の設定と、JSDKのインストール先ディレクトリと、
HTMLファイル、アプレットのクラスファイルの保存先ディレクトリ等もコピー&ペースト
して貼って頂けた方が分かりやすいです。
この回答への補足
エラーらしき物は表示されていないのですが・・・。
Applet Stoped と一番下にかいてあるはエラー表示でしょうかね?
もしそうでしたらすいません。
■IE6に対する指定方法
C:\test.html
■CLASSPATHの設定
C:\jdk1.4\bin
■JSDKのインストール先ディレクトリ
C:\ にJ2SDKのフォルダが入ってます。
■HTML、アプレットクラスファイルの保存先ディレクトリ
C:\
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」です。
何かエラーがあれば、その内容が表示されていますので見てみてください。
上手くいかなくて大変だと思いますが、がんばってください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java dokojavaのコンパイルについて 1 2022/10/06 18:42
- PHP アップロードファイルの数に応じてCSSを動的に変更したいのですが、方法がわかりません 3 2023/07/23 21:59
- ノートパソコン Windows 10 動作改善方法 6 2023/04/26 22:30
- Microsoft ASP C#からvbsを実行したい 5 2022/11/24 17:31
- PHP アップロード画像数でCSSを分けることに成功したのですが、画像の横に文字を並べることが出来ません。 3 2023/07/28 17:16
- C言語・C++・C# 至急お願いします。C言語で.imgのファイルを読み込んで1バイトづつ出力するプログラムを作りたいので 3 2023/01/16 22:49
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- Excel(エクセル) vba コンパイル 4 2022/10/27 10:01
- Java マイクラjavaでForgeを入れたいのですが、インストールした.jarファイルが展開されてしまい中 1 2023/07/28 22:30
- Java javaのクラスの分け方について質問です。 APIの内部用と外部用でクラスを分けたいのですがインター 2 2022/04/26 16:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
classファイルについて
-
javaクラスファイルをEclipseで...
-
SVFの設定について:クラスパス...
-
Eclipse「リフレッシュ」と「ク...
-
Eclipse・プロジェクトで、フォ...
-
eclipse でclassesフォルダーが...
-
EclipseでHTTP404エラーが出る。
-
【Eclipse】パッケージ・エクス...
-
コンパイルをしようとするとエ...
-
JADで*.jarごとデコンパイルす...
-
「削除するか、クラスパスの正...
-
JARのパスの通し方
-
Warファイルの解凍について質問...
-
macでのファイル場所指定
-
Jarコマンドでマニフェストファ...
-
Tomcatの「\\WEB-INF\\classes...
-
import javax.el.*;について
-
jarファイルの解凍ができない
-
jdbcドライバのjarファイルにク...
-
ディレクトリを操作したいと思...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Eclipse・プロジェクトで、フォ...
-
javaクラスファイルをEclipseで...
-
Eclipse「リフレッシュ」と「ク...
-
classファイルについて
-
SVFの設定について:クラスパス...
-
eclipse でclassesフォルダーが...
-
EclipseでHTTP404エラーが出る。
-
earファイルを展開する方法
-
【Eclipse】パッケージ・エクス...
-
JADで*.jarごとデコンパイルす...
-
プログラム実行の際に、「ソー...
-
jdbcドライバのjarファイルにク...
-
「削除するか、クラスパスの正...
-
コンパイルをしようとするとエ...
-
java クラスファイルとソースコ...
-
コンパイルした後 java (class...
-
【Eclipse】逆コンパイルでエラ...
-
Javaアプリケーションのアイコ...
-
VisualStudioでC++クラスを追加...
-
「メイン・マニフェスト属性が...
おすすめ情報