eclipse中创建package / folder source / folder 的区别

首先明确一点,folder,source folder,package都是文件夹,既然是文件夹,那么任何的文件都可以往这三种文件夹下面的放。
1.他们的区别
folder就是普通的文件夹,它和我们window下面使用的文件夹没有任何区别
source folder文件夹是一种特别的文件夹,如果你用面向对象的思想去看待这个source folder,那么他是folder的一个子集,作为子集,肯定是有folder的所有功能,而且还有自己特别的功能,他的特别之处,就是在source folder下面的java文件都会被编译,编译后的文件会被放在我们设置的某个文件夹下面(一般我们设置成WEB-INF/classes),source folder下面的非java文件会被copy一份放在我们的设置的文件夹下面
package文件夹也是一种特别的文件夹,他的特别之处在于:他必须存在于source folder下面,上下级通过.来区分,他的路径最后组成了每一个类的包路径名
2.他们的作用
folder就是最普通的文件夹,你任何想放在eclipse 下面的文件都可以放在folder下面

source folder 设计出来就是用来放待编译的java文件的,因为java文件要先被编译,那么就出现了一个问题,那么文件夹下面的能被编译?那个文件夹下面的不能被编译?所以就设计出来一个特别的文件夹叫source folder,放在他下面的java文件就能被编译,而且,可以通过一定的配置将编译文件放在你配置的文件夹下面

package,设计出来就是给java文件用来分包的,说白了,就是为了好管理java文件,如果source folder看做是一座大楼,那么我们是通过package将这座大楼分成了不同的楼层,不同的房间,不同的楼层不同的房间我们用来做不同的事情,房间里面放了很多java类,有一点注意的是,最后package组成了一个路径名,这个路径名不是物理路径,但java,里面很多时候,就是用这个package组成的路径名,如:web.xml,spring.xml等很多的配置

3.package,source folder,folder 之间相互转换
package 转成 folder 显示:选中package, build path-> Exclude
folder 转成 package 显示:选中folder, build path-> Include

package 转成 source folder 显示:选中package, build path-> Use as Source folder
source folder 转成 package 显示:选中folder, build path-> Remove from BuildPath

pacage 与 source folder 的转换同上

如果创建一个source folder,在eclipse中项目会显示的区别分开,例如测试类时创建source folder,会与项目的目录区别开来
这里写图片描述

同时new source folder也会导致路径问题:
Source Folder在eclipse中就是放入class文件的路径,大家都熟悉的src就是Source Folder。

当我们发布程序时,src下面的.java文件都编译成了.class文件放入WEB-INF\classes文件夹下。

你也可以建一个Source Folder,名字随便起,但记得它里面的内容最终发布时在被放在了WEB-INF\classes文件夹下。

这不是我想说的,我想说的是路径问题。

比如你建一个名为cong的Source Folder,里面放了一些配置文件,当别的配置文件引用conf里面的东西时,

路径是WEB-INF\classes.就是说,conf里面东西的路径就是src的路径!

你可以查看一下,发布完程序后,conf里面的东西和src里面的东西放在一块了,而且没有conf这个文件夹!

**所以我们可以认为:新建Source Folder,其实没有新建Source Folder,在视觉上我们感觉多了一个文件夹,
这样好管理我们的东西,但最后它里面的东西和src下的东西放一块了。我们就认为所有的Source Folder就是一个src。
所以路径的问题按照src路径处理就行。(你完全可以无视你新建的Source Folder).**

大家注意一点,Source Folder本来只能放.java文件的,最后发布时编译成class文件放到WEB-INF\classes下。

你当然可以放其他文件,比如xml文件,上边我也说了这些文件和.java文件一起放到WEB-INF\classes下。

有所不同的是:如果放.java文件,你可以建package包。(假如你建了Folder它自动成为package,因为本来就是为了放java文件的)

发布时package下的java可以编译,发布。但是其他格式的文件只能放到Source Folder下,你如果放到某个package下,

Eclipse就不认识,最后也没有发布这个文件。你可以到服务器下看看,却是没有你要的文件。所以对于其他格式的文件要放在

Source Folder下,就不要再建立二级目录了,Eclipse不认识的。它只认识package目录里面的java文件。

说了这么多,我们对Source Folder有了清楚地认识了吧,它本来就是为java文件而设计的,就像package。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值