- - PR -
コンパイルが通らない。。。
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2002-11-05 13:40
いつもおせわになっています。
早速ですが、 同じフォルダにクラスを置いているのに、そのクラスだけが認識されず、 コンパイルが通りません。 そのクラス自体はコンパイルが通り、クラスもできているのですが、、 インスタンスを生成する所で、「シンボル解釈ができません」と落ちてしまいます。 LogWriter lw = new LogWriter(); 省略 lw.outLog( ); 省略 どなた様かよいアドバイスをいただければ幸いですよろしきうお願いします。 |
|
投稿日時: 2002-11-05 14:13
こんにちは。
>インスタンスを生成する所で、「シンボル解釈ができません」と落ちてしまいます。 だけで判断するしかないのですが・・・。 1.呼び出しているクラスをパッケージ化しているのにimportしていない。 (追記・1.は別のコンパイルエラーが出力されますね・・・) 2.そもそもタイプミスをしている。 位しか思いつきません。 他に何かありましたっけ・・・? →思い出しました。 3.コンストラクタへ渡す引数を間違えている。 例)LogWriter(String logstr)のみが宣言されているクラスに対して、 デフォルトコンストラクタ(=new LogWriter())で呼び出そうとする。 コンストラクタを明示的に作成しなければ、デフォルトコンストラクタとして、 LogWriter()のような引数無しのコンストラクタが暗黙のうちに作られるのですが、 明示的に作成した場合、デフォルトコンストラクタは作成されません。 明示的にLogWriter()を作成する必要があります。 私の少ない知識では、これ位しか思いつきませんが、どうでしょうか? [ メッセージ編集済み 編集者: BBC 編集日時 2002-11-05 15:10 ] |
|
投稿日時: 2002-11-10 01:14
くわしくはわからないですが、こんな経験があります。
私も単体ではコンパイルが通らなくて困っていたときに、 全コンパイルでするとうまくいきました。 javac *.javaで全コンパイルをして見てください。 りょうちんさんの場合と同じかどうかはわかりませんが・・・ |
|
投稿日時: 2002-11-10 07:14
それは同じフォルダ内のJavaファイルにclasspathが通っていないからです。
解決策: 1.環境変数のclasspathにカレントディレクトリ(".")を足す。 2.コンパイル時にクラスパスを指定。($javac -classpath "." hoge.java) 3.フォルダ内、全コンパイル。($javac *.java) のどれかになります。 似たような話題がここにあります。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=1341&forum=12 |
1
