Eclipseproject标准的文件夹层次
为什么特别写一个文档首场讲座解释什么层次,你是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标准的文件夹层次的更多相关文章
- idea项目在maven projects中显示灰色的解决办法。建新建module src变成标准的文件夹
在使用idea的过程中,有时会遇到其中一个maven模块变成灰色(可以通过view - tool windows -> maven projects 现实),如下所示: 造成这个的原因可能是忽略 ...
- 爱上MVC~在Views的多级文件夹
回到目录 在MVC里,你的控制器对应的视图一般是在Views目录,而如果希望在Views里再分几个模块文件夹默认是不允许的,我们需要做一下设置,就可以实现Views下的多次文件夹层次了,例如,我们有产 ...
- Android SVN开发实战的文件夹结构呈现
svn有一个非常标准的文件夹结构,这是. 例如,该项目是proj.svn地址svn://proj/,然后该标准svn布局是 svn://proj/ | +-trunk +-branches +-tag ...
- Linux
介绍了相关的文件夹
学习Linux,先了解Linux标准的文件夹结构是非常重要的,学习的一个很好的铺垫之后的行动.去罗列大而全的所有文件夹. 本文主要说明.笔者本人接触,须要了解的一些文件文件夹,当然本文也会不断的更新或 ...
- PDF 补丁丁 0.4.1.804 测试版发布:合并文件夹的图片和PDF文件,自由生成多层次书签
新的测试版增强了合并文件的功能,可以合并文件夹内的图片和PDF文件,还可以在合并文件列表上直接指定与合并文件对应的PDF书签标题.通过拖放文件项目生成多层次的PDF书签.如下图所示: 另外,新的测试版 ...
- 慧自文档:代替 Everything 来快速查找文件的,实现文件显示在文件夹的层次结构中
1. 搜索功能和Everything一样快和强大 具有 Everything 搜索快.搜索功能强等优点, 解决了不能方便选择搜索哪个文件夹, 解决了不能同一个画面进行预览等问题 2.文件直接显示到文件 ...
- [原创]关于在VS解决方案下使用文件夹管理多个项目层次关系的说明
由于所创建的应用项目或类库项目较多,于是将这些类库放到一个文件夹下.在VS解决方案下确实能看到一个文件夹下多个类库项目这种层次关系.如下图所示: 但打开“我的电脑”,看到的只有类库,并未看到维护层次关 ...
- gulp使用技巧-删除node_modules文件夹,解决目录层次太深删除报错的问题
问题描述: 在使用gulp当中,自动生成的node_modules文件夹,因为文件目录层级太深,无法系统删除,用360粉碎工具也报错 解决方法: 使用npm中的插件rimraf,专门用于删除的模块插件 ...
- java基础 File与递归练习 使用文件过滤器筛选将指定文件夹下的小于200K的小文件获取并打印按层次打印(包括所有子文件夹的文件) 多层文件夹情况统计文件和文件夹的数量 统计已知类型的数量 未知类型的数量
package com.swift.kuozhan; import java.io.File; import java.io.FileFilter; /*使用文件过滤器筛选将指定文件夹下的小于200K ...
随机推荐
- [AngularFire2] Signup and logout
import {AuthProviders, FirebaseAuthState, FirebaseAuth, AuthMethods} from "angularfire2";i ...
- Struts(22)标签库具体解释
要使用Struts2的标签,仅仅须要在JSP页面加入例如以下一行定义就可以: <%@ taglib prefix="s" uri="/struts-tags&quo ...
- Android自定义组件系列【4】——自定义ViewGroup实现双侧滑动
在上一篇文章<Android自定义组件系列[3]--自定义ViewGroup实现侧滑>中实现了仿Facebook和人人网的侧滑效果,这一篇我们将接着上一篇来实现双面滑动的效果. 1.布局示 ...
- LeetCode -- 删除链表中值为k的元素
本题目比較直接,一次遍历遇到匹配的元素直接删除(通过n.next = n.next.next)就能够了,仅仅是须要考虑到:1.首节点的情况2.末节点的情况 下面为实现: public ListNode ...
- 【t075】郁闷的记者
Time Limit: 1 second Memory Limit: 128 MB [问题描述] 你是一个体育报社的记者,你接受到一个艰难的任务:有N支足球队参加足球比赛,现在给你一些比赛的结果,需要 ...
- js进阶 9-10 html中如何遍历下拉列表
js进阶 9-10 html中单选框和多选框如何遍历下拉列表 一.总结 一句话总结: 1.select元素的options.length可以获取选择长度,然后用options[i]精确定位到选项,用 ...
- 2014-07-20 体验到的不是北漂easy
北京首出租天,房子很潮,这房子我住了一个多月,我希望我真的不会活得很长,世界上只有一个真正的租房,只有明确的家是最好的. 550每月,不包括水电费.我不知道该怎么形容,房间里闪耀的太阳.一个窗口,一扇 ...
- XMPP之安装mySQL--Mac OS(一)
come from:http://www.cnblogs.com/xiaodao/archive/2013/04/04/2999426.html 一.安装 到MySQL官网上http://dev.my ...
- 【erlang 网络编程学习】 分析cowboy acceptor实现
http://www.tuicool.com/articles/vuymei 不知道为什么就看了cowboy代码,就继续看了下去了. 分析一下吧,主要写写cowboy 的acceptor pool 的 ...
- js中的apply与call的用法与区别
call 和 apply 都是为了改变某个函数运行时的 context 即上下文而存在的,换句话说,就是为了改变函数体内部 this 的指向.call 和 apply二者的作用完全一样,只是接受参数的 ...