我们在使用Eclipse导入项目时,由于导入的只是普通的文件目录,需要特殊文件(如.classpath或.project或.xml等)帮助我们识别项目目录结构,否则我们会无法运行java程序。

但是当我们导入的项目没有这些文件时,又需要我们手动在Build Path配置目录结构。在这时需要我们理解Eclipse中三种文件目录:package, folder, source folder的关系和区别。

三种文件目录

folder

folder即文件夹,只是我们在文件资源管理器下所看到的普通的文件目录。Eclispe只是将它看作一个系统的文件夹,不会对内部进行识别和检查。

source folder

source folder是Eclispe用来存放编译所需要的资源的文件夹,可以存放.java、.txt等文件。其中我们最熟悉的是src文件夹,它的下面会存放我们编译所需要的文件;当我们编译后,生成的.class文件会被放到我们在Build Path中设置的output folder下对应的某个文件夹,一般output folder为\bin或\classes,其他非.java也会被直接复制到该目录的对应位置。在src下可创建一级新source folder(如main),且在其下可以继续创建二级source folder(如java和resources),但若创建三级文件夹,在eclipse中都默认创建为package,即source folder最多有三级(如下图),用“/”来区分上下级。

package

package即我们创建的所谓“包”,package只能在source folder下,只是为了便于我们在source folder中管理文件所创建的一级“目录”。包可嵌套使用,用“.”来区分上下级。


Build Path作用

Build Path是项目用来管理项目结构以及使用和依赖的各种资源(如Libraries,JDK等)的。eclipse中,在build path下的类可以被编译运行,在build path下的配置文件可以被类以相对路径直接读写。

打开Java Build Path:项目右键 ->Build Path ->Configure Build Path

可以看到Java Build Path窗口:

Source

source中我们可以编辑source folder对应output folder,即我们上面在source folder中说的source folder存放编译需要的.java文件和其他文件,output folder存放.java文件编译生成的.class文件,其余类型文件直接从source folder复制到output folder。

Projects

可以添加、编辑、移除当前项目所依赖的外部项目。

Libraries

可以添加、编辑、移除当前项目所依赖的JAR包和库文件。

如编辑当前库文件:

Order and Export

对文件和库进行优先级排序,在存在同名文件或类名情况下确定优先使用顺序。

导出项目时是否包含该文件目录或库,若不选中该文件目录或库则在导出时忽略该文件,否则包含该文件。

Module Dependencies

Modules下的Dependencies引入的依赖,仅供当前Module模块使用; Libraries下引入的依赖架包是供整个Project项目来使用

Eclipse三种文件目录folder,source folder,package的关系及Build Path的作用相关推荐

  1. mysql是网状_三种数据模型---层次模型、网状模型以及关系模型

    本文转载自:http://www.cnblogs.com/yue-blog/p/6010527.html 一.层次数据模型 定义:层次数据模型是用树状结构来组织数据的数据模型. 其实层次数据模型就是的 ...

  2. 全息干涉图补零尺寸与三种重构方法重建像间的关系研究

    ▒▒本文目录▒▒ 一.前言 二.全息图补零尺寸大小与重建像之间的对应关系研究 三.结论 参考文献 一.前言 由全息原理可知,使用卷积算法得到的重建像平面尺寸与CCD尺寸一致,且再现像平面上包含±1级重 ...

  3. 三种数据模型---层次模型、网状模型以及关系模型

    一.层次数据模型 定义:层次数据模型是用树状<层次>结构来组织数据的数据模型. 其实层次数据模型就是的图形表示就是一个倒立生长的树,由基本数据结构中的树(或者二叉树)的定义可知,每棵树都有 ...

  4. 数据库三种概念模型——层次模型,网状模型,关系模型的优缺点总结

    层次模型 优点: 数据结构简单清晰. 因为记录之间的联系用有向边表示,这种联系在DBMS中通常使用指针实现,查询效率高.层次模型数据库性能优于关系数据库,不低于网状数据库. 提供了良好的完整性支持.进 ...

  5. Eclipse报错:this compilation unit is not on the build path of a java project

    1.概述 从gitHub拉去一个项目,直接导入,想打印一句话,发现问题 然后根据网上答案 原因是新安装的eclipse缺少某个组件,在E:\git_install\scala_eclipse_git_ ...

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

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

  7. java package 路径_java文件路径问题及Eclipse package,source folder,folder区别及相互转换...

    eclipse下,建立一个source folder(我建立的是folder,),名称为resource,调用时 为 "resource/bg.gif" ; //注意resourc ...

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

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

  9. package、folder和source folder的区别

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

  10. package,source folder,folder问题

    下面参考了其他博客 在eclipse,idea下folder,package,source folder都是文件夹. 它们的区别如下: package:当你在建立一个package时,它自动建立到so ...

最新文章

  1. 如何用Python实现超级玛丽的界面和状态机?
  2. 开发环境wamp3.06 + Zend studio 12 调试配置
  3. 图解Java 开发教程
  4. 老板,用float存储金额为什么要扣我工资
  5. PHP进行生成并且导出CSV文件
  6. linux中postscript如何生成,【转载】如何为Linux生成和打上patch
  7. css改变滚动条样式
  8. MeiZu Primary
  9. Linux下安装、配置、授权、调优Mysql
  10. java项目源码分享——适合新手练手的java项目
  11. 发几个iphone助手相关代码,供大家参考
  12. 用js打开新窗口和关闭新窗口
  13. Flash Player的终章——赠予它的挽歌
  14. Origin下载安装教程(亲测有用)
  15. educator计算机技术基础答案,计算机教育技术基础,technical basis of computer education,音标,读音,翻译,英文例句,英语词典...
  16. postgresql数据库字符串转日期
  17. 信息安全审计系统S-Audit
  18. 00 Linux到底是什么?
  19. 致广大而尽精微,极高明而道中庸
  20. python snmp

热门文章

  1. C++ primer 个人学习总结
  2. 电脑网络经常掉线怎么办
  3. 怎么把录音导入库乐队_怎么往库乐队里导入音乐
  4. 如何在家免费使用知网?
  5. HiKey试用体验 烧写系统至Flash之诡异事件
  6. 【JVM】灵性一问——为什么用元空间替换永久代?
  7. 设计模式之多用组合,少用继承
  8. android手机无分区无法刷机,adb sideload 刷机教程:当你手机无法开机,内存里没有ROM时......
  9. 【Travis CI使用教程】如何让定制你的travis.yml配置文件
  10. 网银支付接口编程资料汇总