• 締切済み

コンストラクタを使用したJavaのコンパイルがうまくいかない

質問内容は、タイトル通りなのですが、 まず、元になるコンストラクタを使用したクラスのソースを以下に書きます。 class test1{ test1(){ System.out.println("コンストラクタ完了"); } } これをtest1.javaという形でコンパイルも終了し、 次に以下のようなソースを書いたstt1.javaを作りました。 class stt1{ public static void main(String[] args){ test1 t0; t0 = new test1(); } } これをコンパイルしようとしたのですが、 シンボルが見つけられないというエラーが出てしまいました。 シンボル:クラス test1 場所:stt1のクラス と出ていました。 現状として、解決方法をネットなどで調べたのですが問題がどこにあるのか分からない状態です。 どなたか詳しい方がいましたら教えていただけると幸いです。

みんなの回答

  • isle
  • ベストアンサー率51% (77/150)
回答No.2

クライアントマシンではCLASSPATHを設定しないで、必要であれば-classpath(-cp)オプションで指定するべきです。 恒久的に必要な設定であればJavaコントロールパネルからバージョン別に追加オプションを指定することができます。 JDKのインストール手順にもCLASSPATHの使用は推奨しないと一時期書かれていたのですが、いま見たらJDK6のインストール手順には書いてありませんね。 #どこに行ってしまったんでしょう。 JREもJDKもコマンドが自動的に自身のバージョンに適切な設定で動作するようになっていて、複数バージョンを同時にインストールできる設計にもなっています。 CLASSPATHはその動作を上書きしてしまいますので思わぬ不具合を招きます。

newjava
質問者

お礼

回答ありがとうございます。 先ほど確認してみましたが、無事コンパイルすることが出来ました。 これで、今までエラーを出していた分の動作確認がとれそうです。 本当にありがとうございました。

回答No.1

クラスパス(CLASSPATH)がきちんと設定されていますか? 当方ではCLASSPATHに .; を含めることで, カレントディレクトリにある「コンパイルしようとするクラス」と「同一ディレクトリのクラス」を認識するようにしていますが、正常にコンパイルできています。

newjava
質問者

お礼

回答ありがとうございます。 現状としてCLASSPATHはこのようになっています。 .;C:\Program Files\Java\jdk1.6.0_02\lib; 私自身、環境変数に関してはあまり詳しくありませんので、 このCLASSPATHに問題があるようでしたらご指摘頂けると有難いです。

関連するQ&A