Java 包的默认目录

Java 包的默认目录,java,Java,我是一个java新手,我想知道java包的默认目录是什么?我的意思是,如果我编译一个包含package语句的java文件,并且我编译它时没有使用javac命令中的-d选项,那么包将在哪里创建?例如 package test; class Test{} 并使用javac Test.java 那么包将在哪里创建 谢谢如果不指定-d,则类文件将在与源文件相同的目录中创建 如果您已经将源代码存储在与包结构相匹配的目录结构中(并且如果您很高兴源文件和类文件位于同一个位置),那么这很好,但是如果源代码结构

我是一个java新手,我想知道java包的默认目录是什么?我的意思是,如果我编译一个包含package语句的java文件,并且我编译它时没有使用
javac
命令中的
-d
选项,那么包将在哪里创建?例如

package test;
class Test{}
并使用
javac Test.java

那么包将在哪里创建


谢谢

如果不指定
-d
,则类文件将在与源文件相同的目录中创建

如果您已经将源代码存储在与包结构相匹配的目录结构中(并且如果您很高兴源文件和类文件位于同一个位置),那么这很好,但是如果源代码结构与包结构不匹配,则类文件基本上会被放在无法合理使用的位置

就个人而言,对于快速一次性(通常是堆栈溢出:)代码以外的任何代码,我会提出以下建议:

  • 避免使用默认包
  • 将源代码保存在与包结构匹配的目录结构中(例如,根目录为
    src
  • 将类文件生成到单独的目录结构中(例如,根目录为
    bin
    out
    classes

(很抱歉,误解了问题的开头。)

如果不指定包,则不会创建目录! 所有
.class
文件将直接在输出文件夹中创建

public class A{}
如果将此文件编译到输出文件夹


output/a.class
已创建

-d
选项在
javac
命令中用于指定生成类文件的位置,如果未指定,则将在
.java
文件所在的同一目录中创建
.class
文件