为什么特别写一个文档首场讲座解释什么层次,你是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. wPaint在线绘图插件

    wPaint在线绘图插件 一.总结 一句话总结: 1.搜画图插件的时候关键词应该搜什么? jquery画图插件 js画图插件 jquery绘图插件 这些 二.在线绘图插件--wPaint 的实际应用 ...

  2. Spring ContextLoaderListener与DispatcherServlet所加载的applicationContext的区别

    http://www.lai18.com/content/9755931.html Spring 容器(Spring 的上下文) https://my.oschina.net/jast90/blog/ ...

  3. C++ 中的 const 类型变量

    之前总感觉C/C++中有const 限定的变量是个很头痛的问题,一会儿能够变.一会儿不能够变,一会儿把const赋给nonconst,一会儿又把nonconst赋给const,头都被它搞大了.今天刚好 ...

  4. 【机器学习实战】第9章 树回归(Tree Regression)

    第9章 树回归 <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/ ...

  5. 并发新特性—Executor 框架与线程池

    兰亭风雨 · 更新于 2018-11-14 09:00:31 并发新特性-Executor 框架与线程池 Executor 框架简介 在 Java 5 之后,并发编程引入了一堆新的启动.调度和管理线程 ...

  6. webrtc 它android与PC互通

    折腾了一个多星期,今天终将PC和android音频,视频全部打通. 到现在,android与android,pC与PC,android与PC之间已经解决了互通,的音频和视频是能够. 前段时间开了PC与 ...

  7. erlang浅谈

    优点: 1.面向并发,有成熟而且久经考验的框架可供使用,网络部分已经经过了良好封装 2.内存缓存解决方案进程字典,前者的读写速度是50NS-100Ns级别的 3.对二进制数据解析的语法是直观,简单,强 ...

  8. spring security之httpSecurity 专题

    37.5.2 Resolving the CsrfToken Spring Security provides CsrfTokenArgumentResolver which can automati ...

  9. jeesuite分布式框架环境搭建

    一.简述 这是菜鸟走向开源的第一步.开源项目jeesuite:http://git.oschina.net/vakinge/jeesuite-libs jeesuite是托管在码云上的开源项目,是一个 ...

  10. 漫步Unity3D(一)

    前言 采用Unity它已经将近半年的时间,虽然项目仅仅是一个半成品.但Unity熟几乎相同的游戏.在这里,在使用过程中遇到的问题,再梳.不涉及过于详细的功能和代码.但是,假设他们将参与开发一个在线知识 ...