说明:本文所有测试以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. 纯js异步无刷新请求(只支持IE)

    纯js异步无刷新请求 下载地址:http://pan.baidu.com/s/1slakL1F 所以因为非IE浏览器都禁止跨域请求,所以以只支持IE. <HTML> <!-- 乱码( ...

  2. win10家庭版快速升级专业版

    win10家庭普通版升级专业版方法: 1.点击“开始”,选择控制面板. 2.点击“系统与安全”,选择“Windows Anytime Upgrade”.(或者:单击「开始」按钮,在搜索框中,键入any ...

  3. 产生某个区间的随机整数 int #Java

    int max = Integer.MAX_VALUE; int min = 1; Random random = new Random(); int s = random.nextInt(max)% ...

  4. C/C++入门基础---指针(2)

    5,数组指针的不同含义 int a[5][10]; printf(%d, %d, %d\n", a, a+1, &a+1);  //1310392,1310432,1310592 a ...

  5. Spark RDD aggregateByKey

    aggregateByKey 这个RDD有点繁琐,整理一下使用示例,供参考 直接上代码 import org.apache.spark.rdd.RDD import org.apache.spark. ...

  6. eclipse部署web项目至本地的tomcat但在webapps中找不到

    一.发现问题 在eclipse中新建Dynamic Web Project,配置好本地的tomcat并写好代码后选择Run on Server,但运行后发现在tomcat的安装目录下的webapps并 ...

  7. Thinking in Java 学习笔记(一)

    chapter_01 对象导论 1.1  Java语言基础Smalltalk的特性: 万物皆对象  可以将对象视为一种奇特的变量,它可以存储数据(成员变量),也可以在自身上执行操作(方法). 程序对象 ...

  8. 关于C# DataTable 的一些操作

    经常操作DATATABLE  对于一些不需要再通过sql 来重复操作的   可以通过操作datatable来达到同样的效果 方法一: 也是广为人知的一种: YourDataTable.Columns. ...

  9. TCP/IP详解系列 --- 概念总结02

    TCP复位报文段(RST)的用途: 1.当客户端程序访问不存在的端口时,目标主机将给它发送一个复位报文段:收到复位报文段的一端应该关闭连接或者重新连接,而不能回应这个复位报文段. 2.当客户端程序向服 ...

  10. Flashback for MySQL 5.7

    实现原理 flashback的概念最早出现于Oracle数据库,用于快速恢复用户的误操作. flashback for MySQL用于恢复由DML语句引起的误操作,目前不支持DDL语句.例如下面的语句 ...