• ベストアンサー

パッケージの仕方について

//ファイル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 個」というエラーが発生しました。どのように対処すれば良いでしょうか?分かる方はぜひご指導ください。お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • UKY
  • ベストアンサー率50% (604/1207)
回答No.3

作業ディレクトリを C:\Documents and Settings\Administrator\デスクトップ にした上で > javac -cp . testPackage\PackageDemo.java でコンパイルできます。 プログラムを実行するには同じ作業ディレクトリで > java -cp . testPackage.PackageDemo です。 クラスをパッケージに入れる場合、パッケージを構成するディレクトリのルートがどこにあるかを javac や java に教えてやる必要があります。何も指定しないと、作業ディレクトリがルートとみなされます。testPackageディレクトリが作業ディレクトリになっていて、かつ何も指定がない場合、そこがルートとみなされてうまくいきません。

morumomo
質問者

お礼

できました!ありがとうございます。

その他の回答 (2)

回答No.2

こんにちは。 CLASSPATHは通ってますか? (^^ゞ

morumomo
質問者

補足

JAVAのCLASSPATHは通ってますが、 他のCLASSPATHですか?

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

C:\Documents and Settings\Administrator\デスクトップ\testPackage>javac *.java でいかがでしょうか? ちなみに、実行は C:\Documents and Settings\Administrator\デスクトップ>java -cp .; testPackage.PackageDemo で確認できます。

morumomo
質問者

お礼

無事プログラム通りました。また、困ったときはご教授お願いします。では、失礼します。

関連するQ&A

専門家に質問してみよう