4

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

package test;
class Test{}

javac Test.java
并使用然后在哪里创建包来编译它?

谢谢

4

3 回答 3

4

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

如果您已经将源代码存储在与您的包结构匹配的目录结构中(并且如果您对源文件和类文件位于同一个地方感到高兴)但如果您的源代码结构与您的包结构匹配,那很好,您基本上会在无法合理使用它们的位置获得类文件。

就个人而言,除了快速一次性(通常是 Stack Overflow :) 代码之外,我会提出以下建议:

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

(对不起,误读了开始的问题。)

于 2013-04-11T07:18:29.370 回答
3

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

于 2013-04-11T08:10:40.833 回答
0

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

public class A{}

如果将其编译到输出文件夹,

output/a.class 被建造

于 2013-04-11T07:20:40.117 回答