美文网首页
Maven构建Web应用及版本管理

Maven构建Web应用及版本管理

作者: 依然爱笑的薰衣草 | 来源:发表于2017-10-10 22:53 被阅读9次

    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)到主干
    中
    标签:用来表示主干或者分支的某个点的状态,以代表项目的某个稳定状态,这通常就是版本发布时的状态
    

    文章仅供参考,代码并不是全正确,只需要知道在对应的情况,可以做对应的处理,代码是变化的,我相信原理不变


    相关文章

      网友评论

          本文标题:Maven构建Web应用及版本管理

          本文链接:https://www.haomeiwen.com/subject/xthbyxtx.html