ファイルは全て同じディレクトリ中に入っています。
ItemS.javaというファイルをコンパイルするとシンボルを解釈処理できません,というエラーが表示されます。ソース内容は以下です。
//商品ID指定による商品の検索
public Item getItem(int id) {
Item item = null;
for(int i = 0; i < items.size(); i++) {
item = getItemByIndex(i);
if(item.getId() == id) {
return item;
}
}
return null;
}
<エラー内容MS-DOSより>
Items.java:39:シンボルを解釈処理できません。
シンポル : クラス Item
位置 :Itemのクラス
public Item getItem(int id) {
^
という内容です。
ちなみにItem.javaの一部ソース内容です。
private int id;
public class Item {
public Item(int id, String name, double price) {
this.id = id;
}
//商品IDプロパティ
public void setId(int id) {
this.id = id;
}
public int getId() {
return id;
}
以上です。なぜ解釈処理されないか原因が分かりません。アドバイスお願い
します。
No.5ベストアンサー
- 回答日時:
解決したということなので,今さらかもしれませんが,一応アドバイスなどを。
Java 2 SE SDK 1.2 (俗称 JDK 1.2)以降は,CLASSPATH環境変数は設定しないほうが無難です(特に,初心者の場合)。CLASSPATH環境変数を設定しない場合,基本ライブラリーと拡張ライブラリーディレクトリー下のライブラリー,それにカレントディレクトリーはデフォルトで参照されます。
どうしてもCLASSPATH環境変数を設定する必要がある場合は,先頭に "." ,つまりカレントディレクトリーを指定しておくことをお薦めします。そうすれば,今回のような問題は回避できると思います。
クラスパス関連の情報については,参考URLに挙げた2つの文書を熟読されることをお薦めします。
それから,これは余談になりますが,javacはソースを見てコンパイルしてくれます。つまり,あるソースをコンパイルするとき,そのソースが参照しているクラスも自動的にコンパイルしてくれます(時刻を見て,クラスファイルの方がソースファイルより古ければソースをリコンパイルしてくれる機能もあります)。その辺のことは,ここ↓に書いてあります。
http://java-house.jp/ml/archive/j-h-b/001871.htm …
なお,Javaで開発を行われる方全てに対し,何かトラブルに遭ったときは,まず,ここ↓
http://java-house.jp/ml/topics/
を参照されることを強くお薦めします。
参考URL:http://java-house.jp/ml/archive/j-h-b/021880.html, http://java-house.jp/ml/archive/j-h-b/023336.html
No.3
- 回答日時:
同一のディレクトリに存在するということですが、classpathにカレントディレクトリが設定されていますか?
No.1の方が指摘されているように、javaのコンパイラは例え同一のディレクトリ内であっても、そのディレクトリにclasspathが通っていないと、シンボルの解釈をしてくれません。
classpathにカレントディレクトリ「.」か「.\」を追加してやるか、同一ディレクトリ内の全てのjavaファイルを一度にコンパイル(「C:\test> javac *.java」とか)すれば上手くいきませんか?
この回答への補足
Classpathの設定でディレクトリ名を全部記入していた結果だめだったみたいです。例えば C:\ab\cd\ef\gのディレクトリのgを外したらコンパイルできました。
なぜか理由はわからないんですけど・・・。
いろいろご迷惑おかけしました。
No.2
- 回答日時:
もう少し正確な情報が欲しいので,とりあえず補足要求を。
1) Item クラス(Item.java ファイル)だけのコンパイルは通りますか?
2) 1で Item.java をコンパイルしたとき,Item.class ファイルはどこにできますか?
3) それは Items.java ファイルがあるのと同じフォルダーですか?
この回答への補足
補足いたします。
>1) Item クラス(Item.java ファイル)だけのコンパイルは通りますか?
A> Item.javaはコンパイルできてます。
>2) 1で Item.java をコンパイルしたとき,Item.class ファイルはどこにできますか? 3) それは Items.java ファイルがあるのと同じフォルダーですか?
A>Item.classはItem.javaと同じディレクトリにあります。
Classpathの設定でディレクトリ名を全部記入していた結果だめだったみたいです。例えば C:\ab\cd\ef\gのディレクトリのgを外したらコンパイルできました。
なぜか理由はわからないんですけど・・・。
いろいろご迷惑おかけしました。
No.1
- 回答日時:
> なぜ解釈処理されないか原因が分かりません。
私にだって正確なところは分かりません :-)
ありそうなこととして、その class Item をコンパイルした結果の Item.class は
classpath が通ったところに存在していないんじゃないでしょうか?
コンパイラはソースを見てくれるわけではありません。利用しているクラスがあるならば
その .class ファイルが必要です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL my_itemsテーブルのIDにAUTO_INCREMENT を追加ができるかで 1 2023/01/03 09:09
- Ruby No route matches [GET] "/posts/5/destroy" 1 2022/03/24 13:00
- その他(料理・グルメ) 「金ちゃんヌードル」どれが好き? 3 2022/06/18 21:39
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- MySQL MYSQL エラー 2 2022/10/18 11:37
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- HTML・CSS FC2カートのテンプレートでの商品表示について 1 2023/03/02 18:05
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
.jarファイルの中身って書き換...
-
javaが文字コードの影響でコン...
-
逆コンパイルの見方について
-
TeXで図を挿入できません.助け...
-
「識別子がクラス名でも名前空...
-
コンパイルエラーに出てくる、i...
-
Javaのコンパイル結果が表示さ...
-
jasperとは
-
サクラエディタでjavaのプログ...
-
emacsでjavaをコンパイルする方法
-
ExcelCS
-
Eclipseコンパイル時のエラー無効
-
javaコンパイル用バッチファイ...
-
dokojavaのコンパイルについて
-
Eclipse>ant deployでOutOfMemo...
-
日本語対応 逆コンパイラについて
-
コンパイルエラー
-
Log4jのインストール
-
テーブルの初期化
-
Eclipse3.5EEでJavaのコンパイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
.jarファイルの中身って書き換...
-
IIS環境でJAVAを使用したい
-
javaが文字コードの影響でコン...
-
Eclipse3.5EEでJavaのコンパイ...
-
コンパイルエラーに出てくる、i...
-
サクラエディタでjavaのプログ...
-
Javaのコンパイル結果が表示さ...
-
javax.servlet は存在しません...
-
eclipseの構文エラーについて
-
javaの簡単なソースがコンパイ...
-
「識別子がクラス名でも名前空...
-
eclipseの設定のJREとコンパイ...
-
dokojavaのコンパイルについて
-
逆コンパイルの見方について
-
exlipseでデバックエラーが発生...
-
eclipseについて
-
classファイルを元に戻す
-
日本語対応 逆コンパイラについて
-
コンパイルができないのですが...
-
java サーブレットのサンプルプ...
おすすめ情報