- PR -

コンパイルエラー(Cannot find class "JFrame")

投稿者投稿内容
しば
会議室デビュー日: 2002/11/07
投稿数: 12
投稿日時: 2002-12-10 18:59
Linux(Red Hat Linux release 7.1)にてJavaの環境構築を行い、
Windowsにて動作確認できているファイルを
コンパイルしたところエラーになってしまいました。

Linux環境のJ2SDKのインストールは
 http://java.sun.com/j2se/1.4.1/ja/install-linux.html
 の
 「RPMファイルのインストール」
の手順に従い行いました。

また、Java Plug-inのインストール手順の「手動登録の手順」、
Java Web Startのインストール手順も行いました。
この2つはやらなくてもいいものかわからなかったのですが、
インストールしてみました。。。


PATHの設定は、.bash_profileに追加しました。
ここで素朴な疑問が…。
 ■PATHの設定の仕方をネットで調べている際、
  他にもいろいろな方法があったのですが、
  (.bashrcのファイルにて設定する記述のもの、
  etc/profileのファイルにて設定する記述のもの)
  どれが正しいという決まりは無いのでしょうか?
  どのように使い分けているのですか?
  ご存じの方、よろしければご教授ください。


そこで、JFrameを使用しているプログラムのコンパイルを実施したところ、
 error:Cannot find class "JFrame" [JLS 8]
と表示されました。

何かファイルが足りないということですか?
手順に誤りがあるのでしょうか?


説明不足でしたら申し訳ございません。
その場合はご指摘下さいますよう宜しくお願いいたします。
sakito
常連さん
会議室デビュー日: 2002/08/25
投稿数: 23
投稿日時: 2002-12-10 19:26
引用:

しばさんの書き込み (2002-12-10 18:59) より:
PATHの設定は、.bash_profileに追加しました。
ここで素朴な疑問が…。
 ■PATHの設定の仕方をネットで調べている際、
  他にもいろいろな方法があったのですが、
  (.bashrcのファイルにて設定する記述のもの、
  etc/profileのファイルにて設定する記述のもの)
  どれが正しいという決まりは無いのでしょうか?
  どのように使い分けているのですか?
  ご存じの方、よろしければご教授ください。


man bash
してください。
もしくは
http://www.linux.or.jp/JM/html/GNU_bash/man1/bash.1.html

引用:

そこで、JFrameを使用しているプログラムのコンパイルを実施したところ、
 error:Cannot find class "JFrame" [JLS 8]


import文がないのでは?
H2
ぬし
会議室デビュー日: 2001/09/06
投稿数: 586
お住まい・勤務地: 港
投稿日時: 2002-12-10 21:34
手持ちにLinux用J2SE1.4がないので確認できませんが、importとかのミスだと シンボルがどうのこうの っていいませんでしたっけ?
「error:Cannot find class "JFrame" [JLS 8] 」
は結構致命的なエラーかと・・・。ソースには問題がなさそうなので、J2SEのファイルがどこか壊れちゃっているのかもしれません。(当て勘ですが…)J2SEの再インストールをしてみてはどうでしょうか。

RedHatにおけるbashrcとbash_profileの違いは@ITのLinux Tipsに載っていましたよ。見てみてください。/etcに入っているものは大抵マシン全体の設定です。/etc/profileはログインした際にすべてのユーザーにおいて実行されるスクリプトです。ホームディレクトリにあるユーザー毎のスクリプトは/etc/profileが処理された後に処理されます。
しば
会議室デビュー日: 2002/11/07
投稿数: 12
投稿日時: 2002-12-11 14:25
返信ありがとうございます!!!

コンパイルエラーについては、Windowsにて動作確認ができていたので
import文の不足ではないと考えてます。。。

bashrcとbash_profileの違いについては@ITのLinux Tips見てみました。
なるほど〜。そう言う仕組みなんですね!
ありがとうございます〜!!

再インストールしてみたのですが、結果は同じでした。

Javaのバージョンを確認したところ、以下のようになりました。

======================
[java@localhost java]$ java -version
Kaffe Virtual Machine
Copyright (c) 1996-2000
Transvirtual Technologies, Inc. All rights reserved
Engine: Just-in-time v3 Version: 1.0.6 Java Version: 1.1
======================

ちゃんとインストールできていないということでしょうか?
sakito
常連さん
会議室デビュー日: 2002/08/25
投稿数: 23
投稿日時: 2002-12-11 14:35
ぼくの環境(RedHat7.2)では

$ java -version
java version "1.4.1_01"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_01-b01)
Java HotSpot(TM) Client VM (build 1.4.1_01-b01, mixed mode)

ですね。

Kaffe Virtual Machine
って事は
http://www.kaffe.org/
ですか?
それにしても2000はふるいですね。。

PATHを確認してください。
具体的には
which java
してみてください。

/usr/java/j2sdk1.4.1_01/bin/java

のはず。。

H2
ぬし
会議室デビュー日: 2001/09/06
投稿数: 586
お住まい・勤務地: 港
投稿日時: 2002-12-11 14:36
profile(かbashrc)でのJavaへのパスが違いますね。

多分、古いJDKへのパスが新しいJDKへのパスよりも前にきてしまっているのだと思います。PATH環境変数に古いJDKへのパスの記述がないか調べてください。

また、$JAVA_HOME環境変数もきちんと設定されているか調べてください。
しば
会議室デビュー日: 2002/11/07
投稿数: 12
投稿日時: 2002-12-11 15:21
ふむふむ。ありがとうございます!!

まずですねぇ〜。
which java を実行したところ、

/usr/bin/java

こんな結果に。。。(T-T)
そりゃ、ちゃんとバージョンが表示される訳無いじゃない!ってことですか。。。

それからですねぇ〜、
PATH環境変数は.bash_profileに以下のように追加しました。

 PATH=$PATH:$HOME/bin:/usr/java/j2sdk1.4.1_01/bin

他に$JAVA_HOMEを定義しなくても、↑ここにフルパスで書くだけじゃだめですか?

それから、”古いJDKのパスが……”とのことですが、
今回初めてJavaを入れたんです。

環境構築にこんなに時間がかかるとは。。。
ご指導頂けて光栄です。
へげもん
ベテラン
会議室デビュー日: 2002/04/14
投稿数: 87
お住まい・勤務地: 埼玉県
投稿日時: 2002-12-11 15:45
クラスが見つからないということなのですが、実際のjarファイルなどはどこに置かれているんでしょうか?
dt.jarとかtools.jarをfindしてみるといいと思います。

スキルアップ/キャリアアップ(JOB@IT)