2019独角兽企业重金招聘Python工程师标准>>>

首先说一下为什么要特别写一个文档来说明这个层次结构的事情,各位都在eclipse中使用java.io.File类读取过 workspace中的文件,我相信在不了解eclipse目录层次结构的情况很少有人可以一次性把路径给写对了,为了避免以后再出现这种令人难堪的情 况,还是编写这样一篇扫盲性的说明文档比较合适。当然重点绝不是上面的资源路径怎么编写,而是影响围绕整个工程的生命周期的构建活动。

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

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

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

很多人在编写测试用例的时候喜欢用一个main方法在被测试程序内部中进行测试,如此把测试代码和生产代码混合在一起对程序可读性简 直是毁灭性的打击,所以还是建立一个专门的测试类吧,测试类的命名最好遵从一定的规范这样大家都容易识别,建议将被测试类名+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,选择需要测试的方法

完成之后,可以发现被测试类和测试用例的关系如下:

这样一来两者之间就建立了一定的对应关系,通过一方可以轻松知道另一方的存放位置。

引用上面将测试用例存放在一个专门的资源文件夹下的思想,我们同样可以将工程中产生的配置文件放置在一个专一的资源文件夹下。

Java Project发布一般是通过jar包的方式,我们可以在导出jar的时候做一下轻松设定,就将测试用例从生产环境中脱离了。

上面主要就是讲述了一个工程的资源文件的合理存放位置,用过maven的朋友对这种方式会非常熟悉,因为maven的工程结构就是这样子的。

Maven提倡使用一个共同的标准目录结构,使开发人员能在熟悉了一个Maven工程后,对其他的Maven工程也能清晰了解。这样做也省去了很多设置的麻烦。

以下的文档介绍是Maven希望的目录结构,并且也是目录创建工程是采用的目录结构。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

转载于:https://my.oschina.net/Yamazaki/blog/488843

Eclipse工程标准目录层次结构相关推荐

  1. maven工程的目录结构

    Eclipse中一个Maven工程的目录结构 (MacOS) www.cnblogs.com 2016-11-04 17:33 1. 为什么写这篇文章 在之前的javaSE开发中,没有很关注Eclip ...

  2. maven工程的标准目录结构

    Maven工程的目录结构 作为一个maven工程,它的src目录和pom.xml是必备的. 进入src目录后,我们发现它里面的目录结构如下: src/main/java -- 存放项目的.java文件 ...

  3. Eclipse 工程配置与目录结构及各种文件夹(常用插件)

    .classpath..project 是 Eclipse 工程所必须的文件. OpenExplorer: 该 jar 包的下载地址:samsonw/OpenExplorer 安装配置方法:eclip ...

  4. Zookeeper源码编译为Eclipse工程(转)

    原文地址:http://blog.csdn.net/jiyiqinlovexx/article/details/41179293 为了深入学习ZooKeeper源码,首先就想到将其导入到Eclispe ...

  5. maven2创建或者导入eclipse工程 设置M2_REPO消除错误

    2019独角兽企业重金招聘Python工程师标准>>> 用maven创建一个项目,在这个项目目录下使用命令:mvn eclipse:eclipse 即可生成eclipse工程,然后再 ...

  6. 导入代码时eclipse的src目录变为包名

    2019独角兽企业重金招聘Python工程师标准>>> 初学Java网站开发,还是个菜鸟.用SVN和队友做项目,经常碰到从SVN上下载的项目,导入代码时eclipse的src目录变为 ...

  7. 最全的 eclipse web 项目目录结构

    本文会尽可能对 java web 项目的目录结构做出最详细的解释,尽量做到浅显易懂. eclipse web 项目目录结构 java web 项目事例 03-springmvc-drien-xgq 是 ...

  8. Maven-学习笔记03【基础-Maven标准目录结构和常用命令】

    Java后端 学习路线 笔记汇总表[黑马程序员] 黑马程序员(腾讯微云)Maven基础讲义.pdf Maven-学习笔记01[基础-Maven基本概念] Maven-学习笔记02[基础-Maven的安 ...

  9. MAVEN项目标准目录结构 ;

    http://blog.csdn.net/lengyue_wy/article/details/6718637 版权声明:本文为博主原创文章,未经博主允许不得转载. 1.标准目录结构: src -ma ...

最新文章

  1. 关于Unity调用摄像头扫描二维码与生成二维码的实现方法
  2. Bootstrap3基础 下载bootstrap3压缩包和相应的jQuery文件
  3. asp.net 6中的mini api和mvc api性能对比
  4. P2261 [CQOI2007]余数求和 整除分块
  5. matlab记录路径,matlab对文件目录路径的操作
  6. 顶级Linux发行版(10)——Gentoo Linux [转]
  7. 在哪里学python-为什么要选择学python,亮点在哪呢?
  8. 10 个牛逼的一行代码就能搞定的编程技巧,你会用吗?
  9. 8代cpu能装linux 系统吗,Intel支持八九代酷睿的B365芯片组将登场亮相
  10. CLRC66301HN国产替产,国产NFC芯片FSV9563 ISO/IEC15696协议,MIFARE Classic 4K,MIFARE Ultralight,MIFARE DESFire等
  11. AI 四小龙之间没有战争
  12. 2021-2027全球与中国抽屉拉手市场情况与未来趋势研究报告
  13. 数据分析-因果分析业务实践详解
  14. AR算法原理在计算机视觉中的应用
  15. SQL学习笔记(03)_BETWEEN 操作符
  16. 2022年后疫情时代下市场研报报告合集(共90份)
  17. dvm 与jvm 区别
  18. 【C语言】杨辉三角(数组)
  19. 华为笔面试经历-前端开发-2020年春招
  20. 四位达林顿_达林顿管的四种接法与常用型号

热门文章

  1. Sqlserver数据库类型介绍,可作为参考书
  2. 将二叉查找树转化为链表的代码实现
  3. Why to do,What to do,Where to do 与 Lambda表达式!
  4. 已知一棵二叉树的中序序列和后序序列,写一个建立该二叉树的二叉链表存储结构的算法...
  5. mysql 减少文件排序_消除更新查询中的mysql文件排序
  6. 操作系统内存管理_操作系统6内存管理基础
  7. XamarinSQLite教程在Xamarin.Android项目中使用数据库
  8. AFP溢出攻击模块afp/loginext
  9. linux中yum安装splunk,Yum源搭建
  10. php面向对象 设计模式,PHP面向对象单态设计模式详解