Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么Java源文件进入目录结构?_Java_Directory Structure_Conventions - Fatal编程技术网

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

为什么Java源文件进入目录结构?,java,directory-structure,conventions,Java,Directory Structure,Conventions,正如我们所说,我正在创建一个包含以下类的Java项目 com.bharani.ClassOne com.bharani.ClassTwo com.bharani.helper.HelperOne com.bharani.helper.support.HelperTwo 将文件直接放在文件夹“src”下 src/ClassOne.java src/ClassTwo.java src/HelperOne.java src/HelperTwo.java 并使用命令编译它们 $javac-d class

正如我们所说,我正在创建一个包含以下类的Java项目

  • com.bharani.ClassOne
  • com.bharani.ClassTwo
  • com.bharani.helper.HelperOne
  • com.bharani.helper.support.HelperTwo
  • 将文件直接放在文件夹“src”下

  • src/ClassOne.java
  • src/ClassTwo.java
  • src/HelperOne.java
  • src/HelperTwo.java
  • 并使用命令编译它们

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

    编译器编译这些文件,并将类文件放在“classes”目录中相应的子目录中,如下所示

  • classes/com/bharani/ClassOne.class
  • classes/com/bharani/ClassTwo.class
  • classes/com/bharani/helper/HelperOne.class
  • classes/com/bharani/helper/support/HelperTwo.class
  • 因为规范要求类应该进入适当的目录结构中。好的

    我的问题是:当我使用诸如Eclipse或NetBeans之类的IDE时,它们也会为源代码目录创建目录结构(此处为“src”目录)。为什么呢?它是强制性的吗?或者,这只是一个惯例


    谢谢。

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

    另外,如果您有两个同名的类(但在不同的包中),如果不在不同的目录中,您将如何存储源代码


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

    我认为这是强制性的,但你的经验表明不是这样。不管怎样,这都是常识,对吧?大型项目有这么多的源文件——为什么要通过为源文件和类文件提供不同的结构使生活变得更加复杂

    Is it mandatory? 
    
    没有

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

    我一直认为Java的包有点破损:

    这似乎是等级制度,但事实并非如此


    它是一个简单(唯一)的前缀,用于定义单独的普通名称空间。

    Java包实际上不是分层的,这是一个经常被忽略的事实。相反,Scala软件包是!
    Or, is it just a convention?