現在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を探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
javaが文字コードの影響でコン...
-
IIS環境でJAVAを使用したい
-
c++Builder ver6.0のパッケー...
-
javax.servlet は存在しません...
-
.jarファイルの中身って書き換...
-
Eclipse3.5EEでJavaのコンパイ...
-
ソースパスとクラスパスの違い...
-
eclipseの構文エラーについて
-
importしたパッケージが見つか...
-
packageとimportの関係のコンパ...
-
Javaのコンパイル結果が表示さ...
-
eclipseの設定のJREとコンパイ...
-
emacsでjavaをコンパイルする方法
-
Java 文字コードのエンコーディ...
-
JFreeChartの環境変数設定について
-
コンパイルができないのですが...
-
コンパイルが通らない
-
Eclipseで、プロジェクト名のと...
-
javaクラスファイルをEclipseで...
-
classファイルについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
.jarファイルの中身って書き換...
-
javaが文字コードの影響でコン...
-
IIS環境でJAVAを使用したい
-
Eclipse3.5EEでJavaのコンパイ...
-
javax.servlet は存在しません...
-
TOMCAT_HOMEって?
-
「識別子がクラス名でも名前空...
-
eclipseの構文エラーについて
-
日本語対応 逆コンパイラについて
-
逆コンパイルの見方について
-
javaの簡単なソースがコンパイ...
-
Javaのコンパイル結果が表示さ...
-
JAVAでC/C++の条件コンパイルの...
-
ソースパスとクラスパスの違い...
-
importしたパッケージが見つか...
-
c++Builder ver6.0のパッケー...
-
TeXで図を挿入できません.助け...
-
サクラエディタでjavaのプログ...
-
Beanクラスのimportについて
-
-deprecationとは?
おすすめ情報