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 ...
随机推荐
- 【51.27%】【codeforces 604A】Uncowed Forces
time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...
- JMS是一种应用于异步消息传递的标准API
JMS是一种应用于异步消息传递的标准API,作为Java平台的一部分,JMS可以允许不同应用.不同模块之间实现可靠.异步数据通信.一些概念 JMS provider An implementat ...
- 用CMake代替makefile进行跨平台交叉编译
在开始介绍如何使用CMake编译跨平台的静态库之前,先讲讲我在没有使用CMake之前所趟过的坑.因为很多开源的程序,比如png,都是自带编译脚本的.我们可以使用下列脚本来进行编译: 1 2 3 ./c ...
- jquery-7 jquery中的文档处理方法有哪些(方法的参数表示功能增强)
jquery-7 jquery中的文档处理方法有哪些(方法的参数表示功能增强) 一.总结 一句话总结:多看参考文档,多看主干目录.一般的功能分两个方法来实现,一个对应标签,一个对应标签和事情,比如克隆 ...
- Powerful Bash-style command line editing for cmd.exe
https://mridgers.github.io/clink/ Clink Powerful Bash-style command line editing for cmd.exe Downloa ...
- 数据库使用truncate清理非常多表时碰到外键约束时怎么高速解决
问题处理思路: 1. 先将数据库中涉及到外键约束的表置为无效状态 2.待清除全然部表数据后再将外键约束的表置为可用状态 详细实现脚本: declare begin for vv_sql in (SEL ...
- Android XMPP服务器, BOSH(Http-Binding)和WEB客户端搭建
目标: 搭建一个XMPP服务器, 实现在web page上用javascript与自己XMPP服务器通信, 匿名登录并与任何一个XMPP(Jabber)帐户通信. (Gtalk目前尚有问题) XMPP ...
- C++省略号类型和参数个数不确定函数参数范例
声明:所有权利保留. 转载必须说明出处:http://blog.csdn.net/cartzhang/article/details/44203651 今天想写个宏定义,发现宏定义里也可以写不定参数, ...
- SpringMVC ModelAndView跳转失效
今天隔壁的兄弟遇到一个奇怪的问题,他写好了一个表单用post提交到了addNew.do 里面,然后利用 return new ModelAndView("forward:success.js ...
- 关闭 You need to use a Theme.AppCompat theme (or descendant) with this activity解决方法
当我的MainActivity继承自v7包中的ActionBarActivity或者AppCompatActivity时,如果在style.xml文件中指定MainActivity所使用的样式如下: ...