我不明白src文件夹和单独包的目的

Bib*_*dum 8 java eclipse

在过去的几个月里,我一直只在python中使用eclipse,我想开始在java中使用它.但是,根据我看过的教程,组织java项目的正确方法是在名为的源文件夹中创建一个包,例如com.project,并将所有类命名为com.project.class.您还可以创建与子目录类似的子包,例如com.project.utilities.*.有了这个约定,我不明白为什么我会为每个项目创建多个包.由于所有代码都包含在此结构中,src文件夹的用途是什么?

我希望我错误地认为这是构建java项目的常规方法,因为它看起来非常不方便.

此外,我还没有对此愚弄,但这不会使加载外部依赖关系变得痛苦吗?如果我有一个img文件夹放在src和bin文件夹旁边,我不是必须使用"..\img*"来访问它吗?

Osc*_*Ryz 15

是的,对于小项目可能没有多大意义.你可能只有:

MyProject
|
+ - FileOne.java
+ - FileTwo.java
+ - FileThree.java
Run Code Online (Sandbox Code Playgroud)

但是对于较大的项目,您可能需要分成包,属于不同类型功能的类.

例如核心java库(仅举几例)

java.lang(包含核心clases,如Object,String,Integer,Boolean,StringBuilder)java.util(包含实用程序类,如List,ArrayList,Date,Map,Timer等)java.io(包含输入/输出类,如File ,InputStreamReader,BufferedReader等

java.sql,java.swing,java.text等

这样,你就"捆绑"了彼此相关的类.

这些类的源代码按照惯例在名为的文件夹中 src

所以你会:

YourProject 
|
+ - src 
     |
     + packageA
     |
     + packageB
Run Code Online (Sandbox Code Playgroud)

您可能还需要将源代码与已编译的文件分开,因此该classes文件夹按惯例使用.此外,您可能需要一个单独的文件夹来放入第三部分库,另一个用于资源,如图像,辅助文件或其他,不同的文档等.

所以典型的布局可能是:

YourProject
|
+ - src/ 
+ - lib/
+ - classes/
+ - resources/ 
+ - conf/ 
+ - bin/
+ - doc/
+ - etc/
Run Code Online (Sandbox Code Playgroud)

但当然,它只对大型项目有意义.

Web应用程序通常还包含WEB-INF文件夹等.

如果您的项目只包含几个类,请不要担心并使用单个文件夹,但很高兴知道它的基本原理.