2

デフォルトのディレクトリの下に「blue」というパッケージを作成しようとしています。したがって、パッケージ宣言は

package blue;

私のソースコードの一番上にあります。ファイルをコンパイルすると

javac This.java 

コマンドプロンプトでは、パッケージ宣言を完全に無視し、クラスファイルをデフォルトのディレクトリに保存します。これは、デフォルトディレクトリの下にディレクトリ「blue」があるかどうかに関係なく行われます。

しかし、私がコンパイルするとき

javac -d . This.java

デフォルトでパッケージディレクトリ「blue」を作成し、そこにクラスファイルを保存します。私は何が欠けていますか?

事前に助けに感謝します。

4

1 に答える 1

4

差出人man javac

  -d directory
            Set the destination directory for class files. The destination
            directory must already exist; javac will not create the desti‐
            nation directory. If a class is part of a package, javac  puts
            the  class file in a subdirectory reflecting the package name,
            creating directories as needed. For example, if you specify -d
            /home/myclasses and the class is called com.mypackage.MyClass,
            then the  class  file  is  called  /home/myclasses/com/mypack‐
            age/MyClass.class.

         If  -d  is  not  specified, javac puts the class file in the same
         directory as the source file.

         Note:   The directory specified by -d is not automatically  added
         to your user class path.
于 2012-11-16T05:47:38.890 に答える