Eclipse JAVA项目的 目录结构 和 导入
说明:本文所有测试以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...

通过修改配置文件请参考Eclipse默认空间与工作空间的更改
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项目的 目录结构 和 导入的更多相关文章
- 像Maven一样构建java项目的目录,更好的管理java工程的源码
都知道maven具有管理Java或者Javaweb的功能.我个人尤其看中的是其代码层次的分离.不同的代码在不同的文件夹下.这是在eclipse新建一个普通的工程无法实现的.而如果用maven实现有时候 ...
- android学习——项目的目录结构
学习开发之前要了解工程目录下的文件夹下文件的用意,是以HelloWorld为例: 1.HelloWorld项目的目录结构 1.1.src文件夹 1.2.gen文件夹 1.3.Android 2.1文件 ...
- Android开发之旅2:HelloWorld项目的目录结构
引言 前面Android开发之旅:环境搭建及HelloWorld,我们介绍了如何搭建Android开发环境及简单地建立一个HelloWorld项目,本篇将通过HelloWorld项目来介绍Androi ...
- 使用Maven构建Web项目的目录结构
1.Web项目的目录结构 基于Java的Web项目,标准的打包方式是WAR.与JAR比较,包含更多的内容,比如JSP文件.Servlet.Java类.web.xml配置文件.依赖JAR包.静态 ...
- Android项目的目录结构 初学者记录
Android项目的目录结构 Activity:应用被打开时显示的界面 src:项目代码 R.java:项目中所有资源文件的资源id Android.jar:Android的jar包,导入此包方可使用 ...
- Go 项目的目录结构 及 安装技巧
项目目录结构如何组织,一般语言都是没有规定.但 Go 语言这方面做了规定,这样可以保持一致性 1.一般的,一个 Go 项目在 GOPATH 下,会有如下三个目录: |--bin |--pkg |--s ...
- Maven项目的目录结构+maven的安装与配置
1.首先下载maven,然后配置环境变量,在MyEclipse里面配置maven 2.配置maven的pom.xml文件 3.下载和更新资源 右击项目,有一个Maven4Myeclipse,里面有三个 ...
- Android开发系列之Android项目的目录结构
今天开始正式学习Android开发的种种细节,首先从最基本的概念和操作学起. 首先看一下Android项目的目录结构. 这是我随便建立的一个test项目,我们重点关注一下几个方面的内容: 1.src目 ...
- Maven项目的目录结构
刚接触Maven没多长时间,实习时在的小公司很不规范,所有web项目都是dynamic web project搭建,没有用到项目构建,管理工具,导致了非常多的重复工作与低效. 先来看看Maven的功能 ...
随机推荐
- mvc Razor 视图中找不到 ViewBag的定义
在Razor 视图中,我们有时会看到 ViewBag.Title 下会划一个红线,当鼠标放上去的时候会提示这样的一个错误: 找不到编译动态表达式所需的一种或多种类型,是否缺少引用? 但在项目启动运行时 ...
- dos 批处理删除svn目录
转自 http://blog.sina.com.cn/mpl398235717 @echo offecho ********************************************** ...
- 驱动开发学习笔记. 0.05 linux 2.6 platform device register 平台设备注册 2/2 共2篇
驱动开发读书笔记. 0.05 linux 2.6 platform device register 平台设备注册 2/2 共2篇 下面这段摘自 linux源码里面的文档 : 内核版本2.6.22Doc ...
- Matrix Calculator
表达式分析+矩阵+计算器+寄存器=矩阵计算器 怎么想起来搞这个呢.. //刚看龙书兴致勃勃要搞表达式分析 这个寄存器比较简陋,26字母+4缓存,//字母不分大小写 当然,不只能算矩阵,还能算数= = ...
- 转:Unknown module(s) in QT: multimedia
在编写串口时遇到了以下问题:Unknown module(s) in QT: multimedia 在ubuntu中解决方法如下: qtmultimedia5-de sudo apt-get inst ...
- [OC笔记]@property之个人理解,大神轻拍
/** * 一个简单的对象 * * @author suzhen * */ public class SimpleObjcet { /** * 声明一个age字段 */ private Object ...
- Linux下SVN客户端安装及使用
转载自:http://www.linuxidc.com/Linux/2015-01/111748.htm 不想自己写了,这个写的挺全的,我就按这个步骤走的,呵呵 非常感谢作者 环境说明: 系统版本:C ...
- 对Hadoop体系的一点认识
前言:Hadoop体系核心大多源自Google的思想,里面的思想的确很精彩!比如分布式计算,云的思想等,比起其他简单技术,更使得我想写这文章, 虽然这个东东在一般公司不可能用到! 首先由于hadoop ...
- LSD-SLAM深入学习(4)-非ROS改造
前言 没错,距离上一次博客的发布已经俩月了,今天是圣诞节,圣诞快乐. 在前几篇中已经完成了ROS下面的一系列操作.如有任何问题,feel free to contact me at robotsmin ...
- getElementByName()和getElementById的区别
因为在属性中,id时唯一的,getElementById取出的是一个元素但是可以出现相同的name,取到的是一个Array ,getElementsByName取出的是数组 记录代码如下: <! ...