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