現在JAVAの勉強をしております。
サンプルソースを入力しながら行っております。
カレントディレクトリでコンパイルは正常にできました。
しかし、「packageとimport」の処理を追加しファイルを
ディレクトリに移したところうまくコンパイルが通らなく
なりました。
パスの間違えかとも思いつつ色々調べているのですが、原因
がつかめません。
検索サイトを使って色々な事例を見てみたのですが、解決
出来ませんでした。
すみませんが、ご指導のほどお願いします。
詳細は下記の通りです。
漏れなどありましたらご指摘していただければ補記します。
JDK:1.3.1
OS:Windows2000ProSP2
------------------------------------------------------
ディレクトリ
D:\JAVAPRESS
└─jp
└─co
└─gihyo
└─javapress
├─test
│ ATMTest.java
│
└─account
Account.java
CommissionAccount.java
コンパイル
D:\JavaPress\jp\co\gihyo\javapress\test>javac -classpath D:\JavaPress\Account ATMTest.java
ATMTest.java:2: シンボルを解釈処理できません。
シンボル: クラス ATMFrame
位置 : atm の パッケージ
import jp.co.gihyo.javapress.atm.ATMFrame;
パッケージ
ATMTest.javaの内容
package jp.co.gihyo.javapress.test;
import jp.co.gihyo.javapress.atm.ATMFrame;
import jp.co.gihyo.javapress.account.*;
class ATMTest {
Account.javaの内容
package jp.co.gihyo.javapress.account;
public class Account {
No.2ベストアンサー
- 回答日時:
> その書籍には、
> 「クラスパスは、jpの親パスとパッケージがあるディレクトリ名」
> と記述されており、例題と同じように記述してみました。
> そのため、記述したディレクトリは存在しません。
何かその書籍は嘘をついていませんか? (というより、「クラスパスは、jpの親パスとパッケージがあるディレクトリ名」という日本語自体がわかりづらい)
クラスパスというのは、class ファイルを配置するディレクトリ構造のルートを指定するものです。
今回の場合は、D:\javapress というディレクトリの中にパッケージに対応したサブディレクトリを作っているので、D:\javapress がクラスパスになります。
D:\javapress\jp\co\gihyo\javapress\test>javac -classpath D:\javapress ATMTest.java
でコンパイルできませんか?
他にも
D:\javapress>javac -classpath . jp\co\gihyo\javapress\test\ATMTest.java
D:\javapress>javac -classpath D:\javapress jp\co\gihyo\javapress\test\ATMTest.java
などやり方はいろいろあるのですが……
これでもだめならパスの設定云々の問題ではないような気がします。
ありがとうございました。
見事コンパイルできました。
ご指摘の通り、パスの設定ミスでした。
書籍を信用し過ぎたようです。
まだまだ勉強不足な面があるので、がんばります。
No.1
- 回答日時:
ディレクトリ構造のツリーは以下でよいでしょうか?
D:\javapress
└jp
└co
└gihyo
└javapress
├test
│└ATMTest.java
└account
├Account.java
└CommissionAccount.java
ATMFrame というクラスのソースが見当たりませんが、このクラスのソースは正しく設置されているでしょうか? そして、クラスパスに設定されている D:\javapress\account というディレクトリもツリーの中にありませんが、これについてもいかがでしょう? 確認してください。
この回答への補足
ご指摘ありがとうございます。
再度書き直しました。
ディレクトリ
D:\JAVAPRESS
└─jp
└─co
└─gihyo
└─javapress
├─test
│ ATMTest.java
├─atm
│ ATMFrame.java
└─account
Account.java
CommissionAccount.java
コンパイル
D:\JavaPress\jp\co\gihyo\javapress\test>javac -classpath D:\JavaPress\Account ATMTest.java
ATMTest.java:2: シンボルを解釈処理できません。
シンボル: クラス ATMFrame
位置 : atm の パッケージ
import jp.co.gihyo.javapress.atm.ATMFrame;
パッケージ
ATMTest.javaの内容
package jp.co.gihyo.javapress.test;
import jp.co.gihyo.javapress.atm.ATMFrame;
import jp.co.gihyo.javapress.account.*;
class ATMTest {
Account.javaの内容
package jp.co.gihyo.javapress.account;
public class Account {
ATMFrame.javaの内容
package jp.co.gihyo.javapress.atm;
import jp.co.gihyo.javapress.account.Account;
>クラスパスに設定されている D:\javapress\account という
これは、サンプルとしていた書籍と同じように設定しました。
その書籍には、
「クラスパスは、jpの親パスとパッケージがあるディレクトリ名」
と記述されており、例題と同じように記述してみました。
そのため、記述したディレクトリは存在しません。
試しにjpの親パス(D:\javapress)で記述してみてもコンパイルが
通りませんでした。
お手数おかけしますがよろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
.jarファイルの中身って書き換...
-
Eclipse3.5EEでJavaのコンパイ...
-
javaが文字コードの影響でコン...
-
javaの簡単なソースがコンパイ...
-
eclipseの構文エラーについて
-
warファイルを展開するとタイム...
-
コンパイルエラー
-
javax.servlet は存在しません...
-
ソースパスとクラスパスの違い...
-
IIS環境でJAVAを使用したい
-
TeXで図を挿入できません.助け...
-
String型変数の宣言
-
パッケージ化とコンパイルについて
-
Fortranで書かれたプログラムの...
-
「シンボルを見つけられません...
-
eclipseについて
-
日本語対応 逆コンパイラについて
-
Javaについて教えてね。
-
java.lang.ClassNotFoundException
-
java:一括コンパイル後、実行...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
.jarファイルの中身って書き換...
-
IIS環境でJAVAを使用したい
-
javaが文字コードの影響でコン...
-
javax.servlet は存在しません...
-
eclipseの構文エラーについて
-
TOMCAT_HOMEって?
-
Eclipse3.5EEでJavaのコンパイ...
-
逆コンパイルの見方について
-
「識別子がクラス名でも名前空...
-
コンパイルエラーに出てくる、i...
-
javaの簡単なソースがコンパイ...
-
Javaのコンパイル結果が表示さ...
-
Java 文字コードのエンコーディ...
-
-deprecationとは?
-
配列に対してsetText()は使えな...
-
JAVAでC/C++の条件コンパイルの...
-
warファイルを展開するとタイム...
-
日本語対応 逆コンパイラについて
-
exlipseでデバックエラーが発生...
-
Javaについて教えてね。
おすすめ情報