• ベストアンサー

packageについて

以下のことでどうしてもエラーが出てしまうのですが、 package jp.co.se.app.test.a; public class a1{ //メソッド public void go(){ System.out.println("hoge"); } } package jp.co.se.app.test.b; import jp.co.se.app.test.a.a1; public class main{ public static void main(String [] args){ a1 aa = new a1(); aa.go(); } } a1クラスはもちろんコンパイルできますが、 mainクラスでは、シンボルを解釈できません:a1 と出てしまいます。 c:\jp.co.se.app.test.b>javac -classpath c:\jp main.java なにが原因なんでしょうか? どなたか教えてください!

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

  • ベストアンサー
回答No.2

C:\>java -cp c:\ jp.co.se.app.test.b.main でいけると思います。だいぶ昔にやったので、間違ってるかもしれません。 考え方としては、JAVA実行マシンにc:\のクラスパスを通してやれば、後はパッケージ階層+実行クラスでよいと思いました。 コンパイルの時は、Javaファイルのところまで、作業ディレクトリを持っていく必要がありますが、実行時は、クラスパスさえ通してあれば、パッケージ階層+実行クラスでできます。作業ディレクトリがどこであっても良いです。

saya129
質問者

補足

すみません・・・、クラスパスの通し方を教えてください・・・。

その他の回答 (3)

  • yuji
  • ベストアンサー率37% (64/169)
回答No.4

回答とは直接関係ありませんが、 クラス名の先頭は英大文字にするようにしましょう。

参考URL:
http://www.tcct.zaq.ne.jp/ayato/programming/java/codeconv_jp/CodeConventions.doc8.html#367
saya129
質問者

お礼

勉強になりました! ありがとうございます!

  • ranx
  • ベストアンサー率24% (357/1463)
回答No.3

> クラスパスの通し方を教えてください No.2 さんの回答で -cp c:\ と書かれてある箇所がクラスパスを指定している部分です。 なお、-cp は省略形で、-classpath と同じです。

saya129
質問者

お礼

そうだったんですね・・・。 ありがとうございます!

  • liar_adan
  • ベストアンサー率48% (730/1515)
回答No.1

>c:\jp.co.se.app.test.b>javac -classpath c:\jp main.java を >c:\jp\co\se\app\test\b>javac -classpath c:\ main.java としてもだめでしょうか?

saya129
質問者

補足

すみません、>c:\jp.co.se.app.test.b>は書き間違いで c:\jp\co\se\app\test\b>になってましたが、 javac -classpath c:\ main.javaでコンパイルするとうまいくいきました! けど・・・、実行はどう指定してやればいいのでしょうか・・・?

関連するQ&A