Web项目的目录结构
基于Java的web项目,其标准的打包方式是WAR。一个WAR包下至少包含两个子目录:WEB-INF和META-INF。META-INF包含了一些打包元数据信息,WEB-INF下必须包含一个Web资源表述文件web.xml,它的子目录classes包含所有该Web项目的类,而另一个子目录lib则包含该Web项目的依赖Jar包,classes和lib目录都会在运行的时候被加入到Classpath中。
Maven对Web项目的布局结构也有一个通用的约定,必须为Web项目显式指定打包方式为war(非显式地指定packaging,Maven会使用默认的jar打包方式)。
Maven声明的Web项目较一般Java项目来说多了一个Web资源目录,其默认位置是src/main/webapp/。该目录必须包含一个子目录WEB-INF,该子目录还必须包含web.xml文件,该目录其它文件和目录包括html、jsp、css、JavaScript等,它们与WAR包中的Web资源完全一致。
Maven项目测试建议
可以用单元测试覆盖的代码,就不应该依赖与Web页面测试,Web页面测试应该仅限于页面的层次,例如JSP、CSS、JavaScript的修改。
版本管理
理想的发布版本应当对应了项目某个时刻比较稳定的状态,这包括源代码的状态以及构建的状态,因此这个时候项目的构建应该满足以下条件:
1.所有自动化测试应当全部通过
2.项目没有配置任何快照版本的依赖
3.项目没有配置任何快照版本的插件
4.项目所包含的代码已经全部提交到版本控制系统中
Maven的版本号定义约定是这样的:<主版本>.<次版本>.<增量版本>-<里程碑版本>
主版本:表示了项目的重大架构变更
此版本:表示较大范围的功能增加和变化,及Bug修复
增量版本:一般表示种大米Bug的修复
里程碑版本:往往 指某一个版本的里程碑
主干(trunk)、标签(tag)和分支(branch),对于这几个知识的深入这里并不打算如此,具体的操作也有对应的工具(如git)。
主干:项目开发代码的主体,是从项目开始直到当前都处于活动的状态。从这里可以获得项目最新的源代码
以及几乎所有的变更历史
分支:从主干的某个点分离出来的代码拷贝,通常可以在不影响主干的前提下在这里进行重大Bug的修复,
或者做一些实质性的开发。如果分支达到了预期的目的,通常发生在这里的变更会被合并到(merge)到主干
中
标签:用来表示主干或者分支的某个点的状态,以代表项目的某个稳定状态,这通常就是版本发布时的状态
文章仅供参考,代码并不是全正确,只需要知道在对应的情况,可以做对应的处理,代码是变化的,我相信原理不变
网友评论