说明:本文所有测试以java工程为例;

1. Eclipse下的java工程目录

  • eclipse的基本工程目录叫做workspace,每个运行时的eclipse实例只能对应一个workspace,也就是说,workspace是当前工作的根目录

  • Eclipse在新建项目的时候会自动生成一些文件。这些文件比如.project、.classpath、.settings目录下的所有文件等。这些文件是Eclipse项目的元数据,描述了一个Eclipse项目。

1.1 修改工作空间

  • 当你打开eclipse时候可能会提示你加载工作空间;

  • 可以查看工作空间,并设置是否每次提示加载;

主菜单 Window > Preferences > General > Startup and Shutdown

选中或取消 Prompt for workspace on startup

  • eclipse菜单界面修改(切换)工作空间;

主菜单 File > SwitchWorkspace > Other...

1.2 Java Project 的目录结构

我自己新建一个java项目JavaProjectNew,全部默认配置,即只输入项目名就“Finish”:

文件目录结构 和 Java项目结构 如下

  • bin目录是工程输出路径,存放了编译生成的.class文件

  • src目录为源码文件夹,存放的是.Java文件

  • .classpath和.project为工程描述文件

1.3 查看.project、.classpath文件

这两个配置文件使用普通的文本编辑器都可以打开;

2 Eclipse导入java文件、java项目、文件夹

2.1 导入java文件

  • 菜单栏 项目右键 > import,选择General > File System,点击下一步 选择需要导入文件所在目录 > 关联复选框选择 > Finish

注意:我开始选择的目录是工程根目录,这样文件会加载到根目录下,其实也就是没法运行的;

解决问题:刚开始选择src目录,这样导入到src默认java源文件目录下,是可以进行编译的。

  • 直接复制java文件到工程目录的src目录下,如(a)或(b):

(a)Eclise支持拖拽事件的,(eclipse项目资源管理器界面的操作)直接将文件拖到src目录下;等同于“Ctrl+C”java文件之后选中src包“Ctrl+V”。

(b)直接复制文件到项目的 src 目录下,然后界面“F5” 或者 项目右键“Refresh” 刷新

提示: 如果导入的是同一个文件夹下的多个java文件,则可以 新建Package,命名同文件夹一致,然后导入该package,这样的好处是可以不用修改代码第一行“package pName” 。

2.2 导入java项目

菜单File > Import > 选择General > Existing Project into Workplace,点击下一步 选择需要导入的工程。

注意: 这个一般没什么问题,只是需要注意需要是完整的Java项目(包含各种元数据);还有就是同一个工作空间的项目不能重名

2.3 导入java文件夹

  • 直接复制java文件夹到工程目录的src目录下(同2.1),可通过编译;

  • 直接复制java文件夹到工程目录下,这样不会被识别;

解决方法就是路径的构建

3 工作空间根目录 文件夹,无法工作 (文件夹转工程)

(1) 通过 File > Import > 选择General > Import Projects from Folder 导入文件夹可能会无法工作,因为eclipse无法识别这个文件夹为一个工程;

(2) 这时候将(存在的java项目的).classpath和.project文件 复制到该文件夹,并且(至少)修改一下 .project中<name>ProjectName</name> 标签中的文件名为该文件夹的名称,刷新可以看到文件夹图标有“J”标识:

虽然这时候已经没有报错了,可是这两个java文件是不能运行的,因为它没有被加入运行环境。

解决办法很多,本质都是将源码目录加载到项目;比如可以新建文件夹关联到项目的源码路径,java文件放进来就行。

对于配置文件的手动修改了解即可(极客除外);一个稍微复杂的项目的配置文件很可能是动态关联的,即使修改了几个还是很可能出异常;这种方法是备用的。

而对于相对简单的学习练习java程序来说,直接复制到现有项目(可以新建)是很快捷高效的办法。

4 相关使用提示

  • 界面操作:当前选中的目录尤其要注意,菜单很多操作都是针对当前目录的,而不是整个工作空间;也就是要知道所做的操作是相对于当前工作空间还是当前的工程。对于很多修改配置之类的操作,需要重新刷新(加载)

  • 图标判断:eclipse针对各种文件有相应的图标,通过图标可以初步快速的判断一些问题。

  • 菜单的关联,eclipse功能比较强大,但可能有好多功能是自己不用关注或不使用的;同一个功能可以从不同的菜单调出,比如所有几乎所有功能都有快捷菜单;深入了解几个常用的功能菜单这样才不至于觉得很乱。

参考:

1.Eclipse下的java工程目录

2.Eclipse工程标准目录层次结构

3.eclipse导入Java工程文件

4.Eclipse中.setting目录下文件介绍

5.Eclipse:java工程目录详解

Eclipse JAVA项目的 目录结构 和 导入的更多相关文章

  1. 像Maven一样构建java项目的目录,更好的管理java工程的源码

    都知道maven具有管理Java或者Javaweb的功能.我个人尤其看中的是其代码层次的分离.不同的代码在不同的文件夹下.这是在eclipse新建一个普通的工程无法实现的.而如果用maven实现有时候 ...

  2. android学习——项目的目录结构

    学习开发之前要了解工程目录下的文件夹下文件的用意,是以HelloWorld为例: 1.HelloWorld项目的目录结构 1.1.src文件夹 1.2.gen文件夹 1.3.Android 2.1文件 ...

  3. Android开发之旅2:HelloWorld项目的目录结构

    引言 前面Android开发之旅:环境搭建及HelloWorld,我们介绍了如何搭建Android开发环境及简单地建立一个HelloWorld项目,本篇将通过HelloWorld项目来介绍Androi ...

  4. 使用Maven构建Web项目的目录结构

    1.Web项目的目录结构     基于Java的Web项目,标准的打包方式是WAR.与JAR比较,包含更多的内容,比如JSP文件.Servlet.Java类.web.xml配置文件.依赖JAR包.静态 ...

  5. Android项目的目录结构 初学者记录

    Android项目的目录结构 Activity:应用被打开时显示的界面 src:项目代码 R.java:项目中所有资源文件的资源id Android.jar:Android的jar包,导入此包方可使用 ...

  6. Go 项目的目录结构 及 安装技巧

    项目目录结构如何组织,一般语言都是没有规定.但 Go 语言这方面做了规定,这样可以保持一致性 1.一般的,一个 Go 项目在 GOPATH 下,会有如下三个目录: |--bin |--pkg |--s ...

  7. Maven项目的目录结构+maven的安装与配置

    1.首先下载maven,然后配置环境变量,在MyEclipse里面配置maven 2.配置maven的pom.xml文件 3.下载和更新资源 右击项目,有一个Maven4Myeclipse,里面有三个 ...

  8. Android开发系列之Android项目的目录结构

    今天开始正式学习Android开发的种种细节,首先从最基本的概念和操作学起. 首先看一下Android项目的目录结构. 这是我随便建立的一个test项目,我们重点关注一下几个方面的内容: 1.src目 ...

  9. Maven项目的目录结构

    刚接触Maven没多长时间,实习时在的小公司很不规范,所有web项目都是dynamic web project搭建,没有用到项目构建,管理工具,导致了非常多的重复工作与低效. 先来看看Maven的功能 ...

随机推荐

  1. Datatable/Dataset 转 JSON方法

    当数据库表的数据在一般处理程序中查出来需要将这个表数据返回到前台的jquery中,需要将数据拼成json字符串形式,这里是将数据库数据查出放在Datatable中,然后在一般处理程序中将datatab ...

  2. eclipse查看class文件的源码

    eclipse查看class文件的源码: 1.网上下载jadClipse的jar包和执行文件jad.exe和 net.sf.jadclipse_3.3.0.jar. 2.把上面下载的jar包放在ecp ...

  3. 循序渐进Python3(十一) --2-- web之javascript

      JavaScrip                JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之后 ...

  4. UNICODE 7.0定义的表情符

    td.graph { font-size:24px; } UNICODE 7.0定义了78个表情符,从0x1F600到0x1F64F(其中0x1F643和0x1F644没有定义).下表中列出了这些表情 ...

  5. oracle分组后取每组第一条数据

    数据格式: 分组取第一条的效果: sql语句: SELECT * FROM ( ;

  6. ABP mapto 映射

    obj1.MapTo(obj2); obj1=>obj2: 在obj1实体里添加映射 [AutoMap(typeof(obj2))] public class obj1 { }

  7. .net学习笔记--使用抽象方法实现多态

    在使用抽象方法实现多态之前,我们必须知道一些知识点: 1.抽象类不能被实例化: 2.抽象类可以包含非抽象成员,它们可以由其子类继承调用. 我们可以先创建一个Person的抽象类,代码如下: abstr ...

  8. 模糊测试(Fuzz testing)

    模糊测试(fuzz testing)是一种安全测试方法,他介于完全的手工测试和完全的自动化测试之间.为什么是介于那两者之间?首先完全的手工测试即是渗透测试,测试人员可以模拟黑客恶意进入系统.查找漏洞, ...

  9. const变量初始化问题

    在C++中const变量定义时必须进行初始化,否则无法通过编译. 初始化的方式有多种,可以通过字面值对其进行初始化,也可以通过变量对其初始化,或其他方式,只要能给const变量赋初值即可(当然初值应该 ...

  10. 域名dns查询_查询域名dns ip地址

    最近有部分用户反应管理的天气网站打开偏慢,决定从每一个可以出现的问题点查起!首先就是dns! 通过360dns监控对比发现,同一组域名,15tianqi.cn的dns响应时间比较长,在300-700间 ...