为什么Java源文件会进入目录结构?

bdh*_*har 2 java directory-structure conventions

因为我们假设我正在使用以下类创建Java项目

  1. com.bharani.ClassOne
  2. com.bharani.ClassTwo
  3. com.bharani.helper.HelperOne
  4. com.bharani.helper.support.HelperTwo

文件放在文件夹'src'下面

  1. SRC/ClassOne.java
  2. SRC/ClassTwo.java
  3. SRC/HelperOne.java
  4. SRC/HelperTwo.java

并使用该命令编译它们

$ javac -d classes src/*.java(假设classes目录存在)

编译器编译这些文件并将类文件放在'classes'目录下的相应子目录中,就像这样

  1. 类/ COM/bharani/ClassOne.class
  2. 类/ COM/bharani/ClassTwo.class
  3. 类/ COM/bharani /帮手/ HelperOne.class
  4. 类/ COM/bharani /帮手/支持/ HelperTwo.class

因为规范要求类应该进入适当的目录结构.精细.

我的问题是:当我使用EclipseNetBeans等IDE时,他们也会为源代码目录(此处为'src'目录)创建目录结构.这是为什么?这是强制性的吗?或者,这只是一个惯例吗?

谢谢.

dev*_*ity 6

主要是惯例.镜像二进制结构的源是有意义的.

此外,如果您有两个具有相同名称的类(但在不同的包中),如果不在不同的目录中,您将如何存储源?

将源保存在一个文件夹中对于小型项目来说很好,但是一旦你有一个更大的项目(数百个类),将源分组到包中会使事情变得更易于管理.


Pet*_*Mmm 5

Is it mandatory? 
Run Code Online (Sandbox Code Playgroud)

没有

Or, is it just a convention?
Run Code Online (Sandbox Code Playgroud)

是的,以在源代码树中反映您的包结构。

我一直以为Java的软件包有些破损:

这似乎是层级的,但事实并非如此。

它是定义单独的纯名称空间的简单(唯一)前缀。