在用myeclipse工具开发java的过程中,新建目录时发现会有package,folder和source folder等不同类型的选项,

因此在网上搜集了一些资料:如下

以下文章转自:https://blog.csdn.net/fanxiaobin577328725/article/details/54092295

前言:我使用的是Eclipse,因此示例都是以这个IDE进行演示,其他IDE应该是类同的。package、folder和source folder本质都是文件夹,只不过是处理方式不同的文件夹。

  首先我们说明一下最简单的folder,通过名字我们也可以理解,其就是文件夹。与我们操作系统下的文件夹完全一样,不起到任何作用,只是存放文件而已,存放到folder中的任何文件都只当做普通文件夹,不管其中文件是否正确,因为IDE不会对其进行任何检查。

  package就是Java开发过程中的包,其路径就是每一个类的包路径,其必须存放在一个source folder下。

  source folder是用来存放Java源代码的,其下的所有Java源文件都会被时时编译成class文件。对于JavaSE的项目会被编译到项目目录下的bin目录下,对于JavaEE项目会被编译到相应的/WEB-INF/classes文件夹中,无论是哪种项目bin文件和classes文件夹都是不会再IDE中显示的,并且上面说到的都是默认的编译路径。这些我们也都是可以更改的。如下:

项目上右击 → Build Path → Configure Build Path

下面分别是不同的配置:

SE项目:

EE项目:

下面对package与source folder的区别进行整理:

不同点:

source folder是通过“/”(反斜线)来进行上下级划分的,而package是通过“.”(点)来进行上下级划分的。
source folder下能创建package,但是反过来是不可以的,也就是说package下不能创建source folder。
java源文件中的package属性是按照package路径来进行赋值的,换句话说在source folder这个目录下的文件的package属性为空。
相同点:

其中的Java源代码都会被时时编译成class文件。
其中的非java文件会被拷贝一份到相应的class路径下。
注意:我们可以创建多个source folder,其实是对我们代码的一种归类,但他们中的Java源文件都会根据其包路径编译到相应的class路径下(例如:SE是bin目录),我们利用这一特性,可以将我们的测试代码与程序主代码分离,只要保证其包路径一样,就不需要import(导入)就可以直接使用了,因为他们的class文件已经编译到相同的包中了。

上面的三种文件夹的转换,我们可以通过右击 → Build Path中的选项进行操作。如下:

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
参考资料:

package、folder和source folder的区别的更多相关文章

  1. folder、source folder、package 区别与联系

    在eclipse下,package,source folder,folder都是文件夹.  它们的区别如下:  package:当你在建立一个package时,它自动建立到source folder下 ...

  2. eclipse 下面的folder,source folder,package的区别与作用

    首先明确一点,folder,source folder,package都是文件夹,既然是文件夹,那么任何的文件都可以往这三种文件夹下面的放.1.他们的区别folder就是普通的文件夹,它和我们wind ...

  3. eclipse中folder、source folder和package的区别

    今天做ssm项目时,突然发现了这个问题,特别好奇,sqlSessionFactory.xml文件如何找到: 1.放在src/hello目录下: InputStream inputStream = Re ...

  4. folder,source folder,package 区别

    source folder source folder下面的Java文件都会被编译,编译后的文件会被放在我们设置的某个文件夹下面(一般我们设置成WEB-INF/classes),source fold ...

  5. eclipse package,source folder,folder区别及相互转换

    今天遇到一个问题:在com.a.b.c这个包路径下建一个package,但是不知为什么就会自动编程folder,而且在这个“package”下的所有property文件读不到.所以看了一下文章:在ec ...

  6. eclipse创建文件package,source folder和folder区别及相互转换

    原文:http://blog.csdn.net/u014079773/article/details/66973910 https://www.cnblogs.com/shihaiming/p/735 ...

  7. eclipse的package, folder, source folder 异同以及相互转化

    1 相同点:都是文件夹; 不同点: 我们用面对对象思维来看; 首先说folder, 三者的父类(object),就是普通的文件夹,它和我们window下面使用的文件夹没有任何区别; source fo ...

  8. eclipse package,source folder,folder差别及相互转换

    在eclipse下, package, source folder, folder都是目录.   它们的差别例如以下:   package:当你在建立一个package时,它自己主动建立到source ...

  9. MyEclipse中Source Folder,package,folder的区别

    1.在eclipse下,package, source folder, folder都是文件夹. 但它们有区别如: 2. package:当你在建立一个package时,它自动建立到source fo ...

随机推荐

  1. Mac下使用OpenMP

    Mac下使用OpenMP,修改Build Options 下面的compiler for c/c++/objective-C 为 LLVM GCC 4.2 - Language 则可以找到Enable ...

  2. faster-rcnn代码阅读2

    二.训练 接下来回到train.py第160行,通过调用sw.train_model方法进行训练: def train_model(self, max_iters): ""&quo ...

  3. php session自定义处理

    原文:http://www.cnblogs.com/mrcoke/  这个人的博客上转的. 这个博客也好: 学算法和数据结构!!http://blog.csdn.net/21aspnet/articl ...

  4. Java 两个整数相除保留两位小数,将小数转化为百分数

    Java 两个整数相除保留两位小数,将小数转化为百分数 源于:http://blog.sina.com.cn/s/blog_624d755d0101cvuq.html 后来学习了:http://blo ...

  5. 猫猫学iOS之UILabel设置圆角不成功所做调控更改

    原创文章.欢迎转载.转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243 如图问题 如图是我要做的效果 然而当我写好代码后,设置号label的layer圆角后 ...

  6. POJ 2947-Widget Factory(高斯消元解同余方程式)

    题目地址:id=2947">POJ 2947 题意:N种物品.M条记录,接写来M行,每行有K.Start,End,表述从星期Start到星期End,做了K件物品.接下来的K个数为物品的 ...

  7. Oracle 11g OEM登录后提示“出现内部错误”

    使用oem登录时提示:“出现内部错误.有关详细信息, 请查看日志文件”. 具体原因未知,发现使用SQL Plus登录一次之后,再次登录即可.

  8. 学习笔记——AOP

    以下纯属个人刚了解点皮毛,一知半解情况下的心得体会: ==================================================================== AOP( ...

  9. 安卓Recovery模式该怎么用?【转】

    本文转载自:http://android.baike.com/article-109914.html 安卓系统出了名的刷机刷机再刷机,说起刷机就不能不谈Recovery模式,这项刷机过程中最重要的一到 ...

  10. Android序列化的存储和读取

    Android中序列化的实现有两种方式:Serializable接口和Parcelable接口,本文对这两种方式进行简单的总结和使用. 一.相关概念 (一)序列化的原因(序列化能实现的效果) 1.永久 ...