- ベストアンサー
パッケージの仕方について
//ファイル1 // testPackageパッケージとして定義 package testPackage; public class PackageDemo{ public static void main(String args[]){ testPackage.A a = new testPackage.A(); a.a1(); } } //ファイル2 package testPackage; public class A{ public void a1(){ System.out.println("a1"); } } という、JAVAファイルを2つ作り、デスクトップの「testPackage」というディレクトリの中に2つとも格納しました。 C:\Documents and Settings\Administrator\デスクトップ\testPackage>javac PackageDemo.java と実行したところ 「PackageDemo.java:6: シンボルを解決できません。 シンボル: クラス A 場所 : testPackage の パッケージ testPackage.A a = new testPackage.A(); ^ PackageDemo.java:6: シンボルを解決できません。 シンボル: クラス A 場所 : testPackage の パッケージ testPackage.A a = new testPackage.A(); エラー 2 個」というエラーが発生しました。どのように対処すれば良いでしょうか?分かる方はぜひご指導ください。お願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
作業ディレクトリを C:\Documents and Settings\Administrator\デスクトップ にした上で > javac -cp . testPackage\PackageDemo.java でコンパイルできます。 プログラムを実行するには同じ作業ディレクトリで > java -cp . testPackage.PackageDemo です。 クラスをパッケージに入れる場合、パッケージを構成するディレクトリのルートがどこにあるかを javac や java に教えてやる必要があります。何も指定しないと、作業ディレクトリがルートとみなされます。testPackageディレクトリが作業ディレクトリになっていて、かつ何も指定がない場合、そこがルートとみなされてうまくいきません。
その他の回答 (2)
- taka451213
- ベストアンサー率47% (436/922)
こんにちは。 CLASSPATHは通ってますか? (^^ゞ
補足
JAVAのCLASSPATHは通ってますが、 他のCLASSPATHですか?
- LancerVII
- ベストアンサー率51% (1060/2054)
C:\Documents and Settings\Administrator\デスクトップ\testPackage>javac *.java でいかがでしょうか? ちなみに、実行は C:\Documents and Settings\Administrator\デスクトップ>java -cp .; testPackage.PackageDemo で確認できます。
お礼
無事プログラム通りました。また、困ったときはご教授お願いします。では、失礼します。
お礼
できました!ありがとうございます。