为什么特别写一个文档首场讲座解释什么层次,你是eclipse正在使用java.io.File类在读workspace档,我相信不知道eclipse,为了避免以后再出现这样的令人难堪的情况,还是编写这样一篇扫盲性的说明文档比較合适。

当然重点绝不是上面的资源路径怎么编写。而是影响环绕整个project的生命周期的构建活动。

首先看一下eclipse在默认情况下创建一个普通的Java Project的文件夹结构:

从上面能够看出来eclipse在创建一个Java Project的时候会创建一个默认的Source folder名为src。该文件夹下的全部文件经过编译之后会输出到同级的bin文件夹下。关于working set,非常好理解,用来分类管理项目project,你创建的project主要用来做什么?属于什么类别?考虑完这两个问题你就知道放置在哪个详细的working set中了。

默认情况下,Package Explorer不显示working set,这须要将working set作为顶级元素的设定方法例如以下:

非常多人在编写測试用例的时候喜欢用一个main方法在被測试程序内部中进行測试,如此把測试代码和生产代码混合在一起对程序可读性简直是毁灭性的打击,所以还是建立一个专门的測试类吧,測试类的命名最好遵从一定的规范这样大家都easy识别,建议将被測试类名+Test作为基本測试类的命名规则。关于測试类的存放又是有门道的,非常多人喜欢在src下建立一个package叫做test,然后在这里面存放全部的測试用例。还是那句话,測试类不应该出如今生产环境下,所以还是将測试类放到一个单独的source
folder以下吧。

以下分享一个创建測试用例的简便方法:

如今我有一个这种类须要进行測试

package cn.seit.eclipse;
public class HelloEclipse {
public static String sayHello(String name) {
return "Hello" + name;
}
}

首先在Package Explorer中选中HelloEclipse这个java文件。然后新建一个JUnit Test Case,eclipse会自己主动完毕以下这些事情:

点击Next,选择须要測试的方法

完毕之后,能够发现被測试类和測试用例的关系例如以下:

这样一来两者之间就建立了一定的相应关系。通过一方能够轻松知道还有一方的存放位置。

引用上面将測试用例存放在一个专门的资源目录下的思想,我们相同能够将project中产生的配置文件放置在一个专一的资源目录下。

Java Project公布通常是通过jar包的方式。我们能够在导出jar的时候做一下轻松设定。就将測试用例从生产环境中脱离了。

上面主要就是讲述了一个project的资源文件的合理存放位置,用过maven的朋友对这样的方式会很熟悉,由于maven的project结构就是这样子的。

Maven提倡使用一个共同的标准文件夹结构,使开发者能在熟悉了一个Mavenproject后。对其它的Mavenproject也能清晰了解。这样做也省去了非常多设置的麻烦。

下面的文档介绍是Maven希望的文件夹结构。而且也是文件夹创建project是採用的文件夹结构。Maven推荐大家尽可能的遵守这种文件夹结构。

src/main/java

Application/Library sources

src/main/resources

Application/Library resources

src/main/filters

Resource filter files

src/main/assembly

Assembly descriptors

src/main/config

Configuration files

src/main/webapps

Web application sources

src/test/java

Test sources

src/test/resources

Test resources

src/test/filters

Test resource filter files

src/site

Site

LICENSE.txt

Project's license

README.txt

Project's readme

看,maven的思想还是相当值得借鉴的,使用一个统一的标准文件夹层级结构能够为开发人员大大减少沟通成本,提高团队的运行效率。我想在软件开发整个行业里面,大家遵循统一的标准对行业的发展会起到一个非常好的促进作用,谢谢。

作者:萧易客

时间:2014/6/4

版权声明:本文博客原创文章,博客,未经同意,不得转载。

Eclipseproject标准的文件夹层次的更多相关文章

  1. idea项目在maven projects中显示灰色的解决办法。建新建module src变成标准的文件夹

    在使用idea的过程中,有时会遇到其中一个maven模块变成灰色(可以通过view - tool windows -> maven projects 现实),如下所示: 造成这个的原因可能是忽略 ...

  2. 爱上MVC~在Views的多级文件夹

    回到目录 在MVC里,你的控制器对应的视图一般是在Views目录,而如果希望在Views里再分几个模块文件夹默认是不允许的,我们需要做一下设置,就可以实现Views下的多次文件夹层次了,例如,我们有产 ...

  3. Android SVN开发实战的文件夹结构呈现

    svn有一个非常标准的文件夹结构,这是. 例如,该项目是proj.svn地址svn://proj/,然后该标准svn布局是 svn://proj/ | +-trunk +-branches +-tag ...

  4. Linux 介绍了相关的文件夹

    学习Linux,先了解Linux标准的文件夹结构是非常重要的,学习的一个很好的铺垫之后的行动.去罗列大而全的所有文件夹. 本文主要说明.笔者本人接触,须要了解的一些文件文件夹,当然本文也会不断的更新或 ...

  5. PDF 补丁丁 0.4.1.804 测试版发布:合并文件夹的图片和PDF文件,自由生成多层次书签

    新的测试版增强了合并文件的功能,可以合并文件夹内的图片和PDF文件,还可以在合并文件列表上直接指定与合并文件对应的PDF书签标题.通过拖放文件项目生成多层次的PDF书签.如下图所示: 另外,新的测试版 ...

  6. 慧自文档:代替 Everything 来快速查找文件的,实现文件显示在文件夹的层次结构中

    1. 搜索功能和Everything一样快和强大 具有 Everything 搜索快.搜索功能强等优点, 解决了不能方便选择搜索哪个文件夹, 解决了不能同一个画面进行预览等问题 2.文件直接显示到文件 ...

  7. [原创]关于在VS解决方案下使用文件夹管理多个项目层次关系的说明

    由于所创建的应用项目或类库项目较多,于是将这些类库放到一个文件夹下.在VS解决方案下确实能看到一个文件夹下多个类库项目这种层次关系.如下图所示: 但打开“我的电脑”,看到的只有类库,并未看到维护层次关 ...

  8. gulp使用技巧-删除node_modules文件夹,解决目录层次太深删除报错的问题

    问题描述: 在使用gulp当中,自动生成的node_modules文件夹,因为文件目录层级太深,无法系统删除,用360粉碎工具也报错 解决方法: 使用npm中的插件rimraf,专门用于删除的模块插件 ...

  9. java基础 File与递归练习 使用文件过滤器筛选将指定文件夹下的小于200K的小文件获取并打印按层次打印(包括所有子文件夹的文件) 多层文件夹情况统计文件和文件夹的数量 统计已知类型的数量 未知类型的数量

    package com.swift.kuozhan; import java.io.File; import java.io.FileFilter; /*使用文件过滤器筛选将指定文件夹下的小于200K ...

随机推荐

  1. angular动画知识点以及代码样例

    原文地址 https://www.jianshu.com/p/4400174072e2 大纲 1.angular动画的相关概念 2.angular动画的绑定方式 3.angular动画代码实例 1.a ...

  2. github-vimium-compile-crx

    chrome-62.x版本上安装vimium 1.61.1 https://blog.csdn.net/ZHUJIANWEILI4/article/details/78385346

  3. [CSS] Dynamically Size Elements with Pure CSS

    Learn how to size elements based on the dimensions of the viewport, even when the browser is resized ...

  4. iOS writeTofile 和对象的序列化

    前言:做了一个图片浏览的小demo,支持随意添加.删除图片,图片放大.缩小,带矩形框的截图.随后几篇博客都会详细讲解在此过程中遇到的各种问题.这篇主要讲,在做添加.删除这个功能时,遇到的存文件的问题. ...

  5. Request对象和Response对象详解

    Request 1.获取请求的基本信息 1>获取请求的url和uri 2>获取url后面的请求参数部分的字符串 3>获取请求方式 4>获取主机名,IP地址 5>获取 Co ...

  6. java中抽象类和空的方法体有什么区别?

    public abstract void test();抽象方法public void test(){};方法体为空这两个有什么区别? public abstract void test(); 抽象方 ...

  7. Objective-C编码规范[译]

    原文链接 : The official raywenderlich.com Objective-C style guide 原文作者 : raywenderlich.com Team 译文出自 : r ...

  8. Android 用SSL构建安全的Socket

    SSL(安全套接层)是 Netscape公司在1994年开发的,最初用于WEB浏览器,为浏览器与服务器间的数据传递提供安全保障,提供了加密.来源认证和数据完整性的功能.现在SSL3.0得到了普遍的使用 ...

  9. 【足迹C++primer】49、超载,更改,运营商

    超载,更改.运营商 Conversion Operators 转换操作符 operator type() const Conversions to an array or a function typ ...

  10. hdu1693插头dp(多回路)

    题意:在n*m的矩阵中,有些格子有树,没有树的格子不能到达,找一条或多条回路,吃全然部的树,求有多少中方法. 这题是插头dp,刚刚学习,不是非常熟悉,研究了好几天才明确插头dp的方法,他们老是讲一些什 ...